From 023211562833af0ffdf2078238b254abf7ecfd52 Mon Sep 17 00:00:00 2001 From: Hans Lemuet Date: Thu, 26 Oct 2023 22:01:55 +0200 Subject: [PATCH 1/6] Add safe navigation for user_interaction_count --- lib/video_info/providers/vimeo_scraper.rb | 4 ++-- spec/lib/video_info/providers/vimeo_spec.rb | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/video_info/providers/vimeo_scraper.rb b/lib/video_info/providers/vimeo_scraper.rb index 7ed5c25b..60008878 100644 --- a/lib/video_info/providers/vimeo_scraper.rb +++ b/lib/video_info/providers/vimeo_scraper.rb @@ -131,9 +131,9 @@ def stats private def user_interaction_count(interaction_type:) - interaction_statistic.find do |stat| + interaction_statistic&.find do |stat| stat["interactionType"] == "http://schema.org/#{interaction_type}" - end["userInteractionCount"] + end&.public_send(:[], "userInteractionCount") end def interaction_statistic diff --git a/spec/lib/video_info/providers/vimeo_spec.rb b/spec/lib/video_info/providers/vimeo_spec.rb index 24cce3c1..1d6131a1 100644 --- a/spec/lib/video_info/providers/vimeo_spec.rb +++ b/spec/lib/video_info/providers/vimeo_spec.rb @@ -314,6 +314,18 @@ its(:thumbnail_small) { should eq "https://i.vimeocdn.com/video/1291917478-2522170a8cfe68dc920e5031deac9bc5ff4d6699c96341fbe_100x75.jpg" } end + context "with video 7848846" do + subject { VideoInfo.new("https://vimeo.com/7848846") } + + its(:stats) { + should eq({ + "plays" => nil, + "likes" => nil, + "comments" => nil + }) + } + end + context "with unavailable video" do if api_key.nil? video_url = "https://vimeo.com/0812455" From cb90336be68324b71aac6fd95fa9876ad03c3281 Mon Sep 17 00:00:00 2001 From: Hans Lemuet Date: Thu, 26 Oct 2023 22:10:27 +0200 Subject: [PATCH 2/6] Add new VCR cassettes --- .../author/1_14_2_1.yml | 152 +++++++++++ .../author_thumbnail/1_14_3_1.yml | 152 +++++++++++ .../author_url/1_14_4_1.yml | 152 +++++++++++ .../available_/1_14_1_1.yml | 152 +++++++++++ .../with_unavailable_video/date/1_14_7_1.yml | 152 +++++++++++ .../description/1_14_6_1.yml | 152 +++++++++++ .../duration/1_14_8_1.yml | 152 +++++++++++ .../height/1_14_10_1.yml | 211 +++++++++++++++ .../keywords/1_14_9_1.yml | 152 +++++++++++ .../thumbnail_large/1_14_14_1.yml | 207 +++++++++++++++ .../thumbnail_medium/1_14_13_1.yml | 207 +++++++++++++++ .../thumbnail_small/1_14_12_1.yml | 207 +++++++++++++++ .../with_unavailable_video/title/1_14_5_1.yml | 152 +++++++++++ .../view_count/1_14_15_1.yml | 207 +++++++++++++++ .../width/1_14_11_1.yml | 207 +++++++++++++++ .../with_video_7848846/stats/1_13_1_1.yml | 247 ++++++++++++++++++ .../with_video_7848846/stats/2_13_1_1.yml | 135 ++++++++++ 17 files changed, 2996 insertions(+) create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_13_1_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_13_1_1.yml diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml new file mode 100644 index 00000000..1dc0cc5e --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml @@ -0,0 +1,152 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:31 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:31 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=U0RAk3hKOJGPV0uvEekotFmgyT.lEYAbNTD1f0iJxuY-1698350971-0-AVlzDXaEevhgzY7uQO3a2l0Nmbt3MeSLNUAoNmW7A+eyyt0fWU4Q8IHg+Anlsu5vjx+RIcthODpvc6ZVyJo+9WE=; + path=/; expires=Thu, 26-Oct-23 20:39:31 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:31 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=158350025.357578690; expires=Sun, 23-Oct-2033 20:09:31 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-bbqpx + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6964-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350972.513287,VS0,VE310 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c55663db37375c-MXP + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:31 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:32 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:32 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=_BPnY_jDQ_mSBSJ_ak7IMjXxDK2k8AN.LyzQ26WGIRM-1698350972-0-AYg7b924OwMxhjzDe9Zt0dmUK02Kt/lmW0QpyHZ3ZuqfNCauPhs6Dc1qoZ6K5hDjWJNH8dJ/GNyJbdt9BZsUf/4=; + path=/; expires=Thu, 26-Oct-23 20:39:32 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:31 + GMT; Max-Age=31535999; path=/; domain=vimeo.com; SameSite=Lax + - vuid=1112215512.935593902; expires=Sun, 23-Oct-2033 20:09:31 GMT; Max-Age=315359999; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-g68wj + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6977-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350972.909143,VS0,VE361 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c556665d505272-MXP + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K + recorded_at: Thu, 26 Oct 2023 20:09:32 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml new file mode 100644 index 00000000..84670395 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml @@ -0,0 +1,152 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:33 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:33 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=TMPUIKxg7YkXN9wLuVfZM4KAi7sNAHEv1Rp.M2PfzxU-1698350973-0-ARSi/rw41iECopuYEla9QYgua87gJtOb5vuPoWmwiB8jKebJkP1YY8J9CLfSn5l9oKn5Z0CxuVMcdxa6DllkPBM=; + path=/; expires=Thu, 26-Oct-23 20:39:33 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:33 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=1657288819.970591371; expires=Sun, 23-Oct-2033 20:09:33 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-d82jk + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-5 + X-Backend-Proxy: + - webproxy6 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10545-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350973.473238,VS0,VE460 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c556702ef50fce-MRS + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:34 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:34 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:34 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=UGScU.f4_w7ssD3O0GbOFH7ORm0RNh_zzHYKn3CWaiU-1698350974-0-AfAjUsmx3emmxowoeBKQNvv9P6UY7Fg6v9hUCCFZvNG6B9RElh+otsLGZKIcN1gcFUs9SdYXC9hWV9/XAYum50Q=; + path=/; expires=Thu, 26-Oct-23 20:39:34 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:34 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=628927325.2048346473; expires=Sun, 23-Oct-2033 20:09:34 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-9zknh + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10538-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350974.126845,VS0,VE378 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c556742e5173af-MRS + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K + recorded_at: Thu, 26 Oct 2023 20:09:34 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml new file mode 100644 index 00000000..8d637fc9 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml @@ -0,0 +1,152 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:35 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:34 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=yKKig396CdsMewnF6zq58XmqHISYGNhbJV6Xlk1VfQo-1698350974-0-AdlRa7UUhfchOTUojGeZbuPcQ0u4a2agzEYWYgtvP5xeisFEAFtvyIHBYWeGeeewHgPLDv4ovynPecwFrLgKPeg=; + path=/; expires=Thu, 26-Oct-23 20:39:34 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:34 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=806206561.2118439068; expires=Sun, 23-Oct-2033 20:09:34 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-p2vs2 + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10581-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350975.620877,VS0,VE374 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c556774ae7076f-MRS + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:35 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:35 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:35 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=15bUz77L5iycFsmBBiePh21J72QYuBqikU5Jp9p99NU-1698350975-0-AWI6XwnbNr32qXlWrBCVe/zCuIq6xfeoCV3rK/vD1L+guMPoXePb+O7DGJARlsRkJ+6aLt0mRsBdT2Vin96a9zg=; + path=/; expires=Thu, 26-Oct-23 20:39:35 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:35 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=1165917621.417660076; expires=Sun, 23-Oct-2033 20:09:35 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-7s7xw + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10556-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350975.148580,VS0,VE321 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c5567a8c975fdc-MRS + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K + recorded_at: Thu, 26 Oct 2023 20:09:35 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml new file mode 100644 index 00000000..78f42e76 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml @@ -0,0 +1,152 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:30 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:30 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=ZqH0ZBpP.VxNv46o47zdhwmt.1cUmydr9TVUsLCLhoQ-1698350970-0-AZMlKsG/iWm2roIO/lmg2hjPvE3ax66FylTUEc2TVWqTob2ypFW3AgIlgbg1x7nP/Sf0/uSfx2bqESkduQ1t1P8=; + path=/; expires=Thu, 26-Oct-23 20:39:30 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:30 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=29271300.1678438639; expires=Sun, 23-Oct-2033 20:09:30 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-9r2p6 + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10554-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350971.532212,VS0,VE409 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c5565dbea00c47-MRS + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:31 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:31 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:31 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=Qv_wBqchFto6U7L4ohBOm2a8HHS4onCGRLDL5zbrhdg-1698350971-0-AQTvofPYwRzb+vANOuLnzwa/FPiTbWj7o9iPt1tiq8nb5HcBNICExzxQ0hZ10SQcHsHETGP+FtE2SoNNC/zG4qs=; + path=/; expires=Thu, 26-Oct-23 20:39:31 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:31 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=546290276.348209764; expires=Sun, 23-Oct-2033 20:09:31 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-9wbqk + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6926-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350971.121851,VS0,VE307 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c556616d22baf7-MXP + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnNjk2MGYnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K + recorded_at: Thu, 26 Oct 2023 20:09:31 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml new file mode 100644 index 00000000..004cff2d --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml @@ -0,0 +1,152 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:37 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:37 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=8atSplz1c3Sh7GUR0RSZnhujNrw8AZ1ZjqXcFkukNgc-1698350977-0-AfSkhwMU19L4NFBSNk9gZ4P7d0+7UfE4Bhe27YKcPM892yVqcEeVQKTyn+73nZ0QdpN5f24J7neMA94v6QD+Ssg=; + path=/; expires=Thu, 26-Oct-23 20:39:37 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:37 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=1790431828.726578828; expires=Sun, 23-Oct-2033 20:09:37 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-9rc69 + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-5 + X-Backend-Proxy: + - webproxy6 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10577-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350978.599994,VS0,VE296 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c55689dda20da7-MRS + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:37 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:38 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:38 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=pXN9LIat2osoKnOHeV3HeLRQYCE_P0TdkB9w35EHP9Q-1698350978-0-ARaGs+pE6TvLxwJrVLwl09xEKGnIjWcAKDe0xDgZKmKv5enGPSJlUQALNqolYyAXasAxFsQFZdXZDMmaOPMkZ6U=; + path=/; expires=Thu, 26-Oct-23 20:39:38 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:38 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=367969665.36079359; expires=Sun, 23-Oct-2033 20:09:38 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-kgb2x + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10545-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350978.002710,VS0,VE310 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c5568c6aa90fce-MRS + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K + recorded_at: Thu, 26 Oct 2023 20:09:38 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml new file mode 100644 index 00000000..186d1bda --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml @@ -0,0 +1,152 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:36 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:36 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=5rv3DZKAc6IDbOj7hG2vzNVwfl9fJ2V6mqR0Ek0WY8I-1698350976-0-Aep00veZ1BF4VAjnelHUEiHWyowExVR+JAljh7n40/Lzk19nyxSX3ox3BKLQ7YnRB8G084pH/QGKdEVYx+gsi5o=; + path=/; expires=Thu, 26-Oct-23 20:39:36 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:36 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=998238993.184870548; expires=Sun, 23-Oct-2033 20:09:36 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-qbfh2 + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6977-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350977.548516,VS0,VE336 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c556835c725272-MXP + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:36 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:37 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:37 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=xBaYkQL31k06N1cLBOfvtKWwV3saEOqzW8yKqzQx4eQ-1698350977-0-AXWtSmla6GTL2fAibIlrmaS6FVkmxJVdsCLl0gIsVRuDHzhJdOb0Dr5yPOTeUTiD+ZPjpciQ1ANp9vYouvfFhac=; + path=/; expires=Thu, 26-Oct-23 20:39:37 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:37 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=555299299.1717302438; expires=Sun, 23-Oct-2033 20:09:37 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-fpf6g + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-0 + X-Backend-Proxy: + - webproxy1 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10581-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350977.083570,VS0,VE362 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c55686adb1076f-MRS + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnZTU4NmQnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K + recorded_at: Thu, 26 Oct 2023 20:09:37 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml new file mode 100644 index 00000000..51a897fd --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml @@ -0,0 +1,152 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:39 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:39 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=Llv1BwoG_LoBCndHBrt51BisJ0dO6y2CjoM0NhS9I0s-1698350979-0-AWUb5Gci1lEgkaNXhweN71/jAZeQ5colQ0JT+L2NVBs+HTTceXYbK5lJ/2j/H/fT9maUYiKpBvMBMKW/7rMr4Y4=; + path=/; expires=Thu, 26-Oct-23 20:39:39 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:39 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=1164179399.2060154086; expires=Sun, 23-Oct-2033 20:09:39 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-pztw2 + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10566-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350979.431793,VS0,VE327 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c5569558b973af-MRS + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:39 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:40 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:40 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=7SCbyoFjlV6JjY8.XQvR7TKswJ8rJF.2ZRc5LRaqlOY-1698350980-0-AQc+ULXJsXuTIKzaYsSARNtgkZK8gno4wCazBuGy9y1xJo0zahJMXa0+kJOVSHfQLvpTmFxUPxorxjsPe7hIXKo=; + path=/; expires=Thu, 26-Oct-23 20:39:40 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:40 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=302152171.1367813398; expires=Sun, 23-Oct-2033 20:09:40 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-pztw2 + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10548-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350980.959844,VS0,VE300 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c556989dc2076f-MRS + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K + recorded_at: Thu, 26 Oct 2023 20:09:40 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml new file mode 100644 index 00000000..5e31a9f2 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml @@ -0,0 +1,211 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:41 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:41 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=ue1Ew__Ds7xTYCsOn_BpW0plSTxvntrrNxHoBrtQbvY-1698350981-0-AWne+LeaT9lXbB7D2L3M1e9MTu7le46q2NzYRv7d7wiAxNSeBL4nE0fC/GQ4n1yMX4hpvUjIM4alSM6mc2Lp1Sc=; + path=/; expires=Thu, 26-Oct-23 20:39:41 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:41 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=1800477234.580218107; expires=Sun, 23-Oct-2033 20:09:41 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-7s7xw + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-4 + X-Backend-Proxy: + - webproxy5 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6964-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350981.268090,VS0,VE352 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c556a0ce700e85-MXP + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:41 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:42 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:42 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - pweb-7cc5595cc8-gjh2p + Age: + - '0' + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-13 + X-Backend-Proxy: + - webproxy14 + Accept-Ranges: + - bytes + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6934-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350983.699933,VS0,VE140 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=SwZDEHIqjxrSE1oggzqgCUNAtLk0CDkxDZexvgDRAu0-1698350982-0-AZzaI+3mDi25Q6sF9CuWFmK3/gbv29GlbibwVgeviEmX76ZYqPbjygXjKszPexrFUF85EZCrmKJic7g94noAmos=; + path=/; expires=Thu, 26-Oct-23 20:39:42 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556a9c92a0d6e-MXP + body: + encoding: UTF-8 + string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have + been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers + have detected a high number of errors from your connection. To continue, please + verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" + recorded_at: Thu, 26 Oct 2023 20:09:42 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml new file mode 100644 index 00000000..7ef060dd --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml @@ -0,0 +1,152 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:40 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:40 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=z_kiiDuWX3_DWxHr6aJxOEBRShVt8E8s66SO28sNbkg-1698350980-0-AY5kjBigi8Of3tGf+8EjRBeDoBIyoVSphAGH+CQ+MUHgBWB1785r1OqJE0SPEHPViHrFU/smS696MthneCDQDlo=; + path=/; expires=Thu, 26-Oct-23 20:39:40 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:40 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=1363220199.1833765556; expires=Sun, 23-Oct-2033 20:09:40 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-f4s75 + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-5 + X-Backend-Proxy: + - webproxy6 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6971-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350980.437841,VS0,VE320 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c5569baf0e0e23-MXP + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:40 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:41 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:41 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=Ta8xiR.juWBPJLTrEYf4Hf_iVUf5psSV3SCJ1nmRh1w-1698350981-0-AatXZ3kxMwSQ+XNBKy9mwtz+hw8giUmnemOw0ZzYU8vtIpTChY40ZWM+94icFP+PPO0FZHelXBwD9qShPKZdlSU=; + path=/; expires=Thu, 26-Oct-23 20:39:41 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:40 + GMT; Max-Age=31535999; path=/; domain=vimeo.com; SameSite=Lax + - vuid=487343382.2053469326; expires=Sun, 23-Oct-2033 20:09:40 GMT; Max-Age=315359999; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-vkfws + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10567-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350981.864363,VS0,VE298 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c5569e4edb0fce-MRS + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K + recorded_at: Thu, 26 Oct 2023 20:09:41 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml new file mode 100644 index 00000000..a0647579 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml @@ -0,0 +1,207 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:44 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:44 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - pweb-7cc5595cc8-lf9pc + Age: + - '0' + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Accept-Ranges: + - bytes + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10566-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350984.322870,VS0,VE131 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=pRnko38uJAtPHp_73IX6nd1QTmf1TVuqY4HZFViKW08-1698350984-0-AdVb63Cmze02U5GYIpMlmtKD/lvFcSivSDi7tk8iTqzod2EQOT3YMgl4RoQRvciZu8xJc8CDo6gHq3nTg2cpA1s=; + path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556b3d93a73af-MRS + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:44 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:44 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:44 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - pweb-7cc5595cc8-bbqpx + Age: + - '0' + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-0 + X-Backend-Proxy: + - webproxy1 + Accept-Ranges: + - bytes + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6949-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350985.561699,VS0,VE136 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=vrWgoS5uzcr6XOAe2qeSRzqyN4m01gYyrhOlxdP6MZA-1698350984-0-AcpskL8/YWmtI6POIFmNxSAYDBrNEiivVHT9KQbXU7yYalRPbfdmpqIpngHfpJ7/b7G0bB+AZp0u+6HOzORiTIM=; + path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556b56faf0e85-MXP + body: + encoding: UTF-8 + string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have + been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers + have detected a high number of errors from your connection. To continue, please + verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" + recorded_at: Thu, 26 Oct 2023 20:09:44 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml new file mode 100644 index 00000000..7491ca3b --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml @@ -0,0 +1,207 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:44 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:43 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - pweb-7cc5595cc8-dgfs5 + Age: + - '0' + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-0 + X-Backend-Proxy: + - webproxy1 + Accept-Ranges: + - bytes + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6923-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350984.856612,VS0,VE143 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=1p4VhxX7v22l6iNhSQ2bx0LWX86sDM3RVbPiGfpfAbo-1698350984-0-ATxVng2c3TZR0nKQn+QopfrJZXw9h/oCYKcjfaC1U/crUW9opTxzHouUSgNQl3gC4L6D5cRFYuVnep2WGfQLrzo=; + path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556b0fc3d0e23-MXP + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:43 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:44 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:44 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - pweb-7cc5595cc8-p2vs2 + Age: + - '0' + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Accept-Ranges: + - bytes + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6970-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350984.076555,VS0,VE131 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=qYpQF2gLsbBwI1AOimEyP8cajUJk6dOKUL4VPeNbgX8-1698350984-0-AY8DnIzRNMHiXbrq5i7NzBuhLzlyyL3RljWQZxmtluA4juOXe0WI1mf/tolMQjsw8DcEv1/fRJTkcYVEEkrhjbM=; + path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556b25bf3bacd-MXP + body: + encoding: UTF-8 + string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have + been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers + have detected a high number of errors from your connection. To continue, please + verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" + recorded_at: Thu, 26 Oct 2023 20:09:44 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml new file mode 100644 index 00000000..8c233556 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml @@ -0,0 +1,207 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:43 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:43 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - pweb-7cc5595cc8-9zknh + Age: + - '0' + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-0 + X-Backend-Proxy: + - webproxy1 + Accept-Ranges: + - bytes + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10534-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350983.406891,VS0,VE131 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=iykwoaemRQb9pYc8PL8CVo61HGWZZywyJZ_wAcIRA_c-1698350983-0-Ab+Y+/v17VxWYyEIfSb7u2JvsxgKzu+y5wDqZqJnrl/H4bQU+lSVjIt3tg8xUsvAQvFNxXBD5MY50tIKiirCjJ4=; + path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556ae29e55fdc-MRS + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:43 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:43 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:43 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - pweb-7cc5595cc8-hzc9h + Age: + - '0' + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-5 + X-Backend-Proxy: + - webproxy6 + Accept-Ranges: + - bytes + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10545-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350984.635093,VS0,VE137 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=ZQFgCZo5p6tMVTrcuurgo2pddj7IqlaBHOulGWxrAk8-1698350983-0-AQ2BhrLloz1e92nwHuk1VMovAxWDN7zSqfiycHzp2x6DCVxbfvPFeP0vbWx1EujVzaILlX9ClYbBAGHq14Suc04=; + path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556afa8ff0fce-MRS + body: + encoding: UTF-8 + string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have + been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers + have detected a high number of errors from your connection. To continue, please + verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" + recorded_at: Thu, 26 Oct 2023 20:09:43 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml new file mode 100644 index 00000000..98976e80 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml @@ -0,0 +1,152 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:36 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:35 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=DGTmj0UqslOkJ9bJ7A4zEPcZKoBP.ikbmQVaZX.S1FY-1698350976-0-Ac7mFCSWVPuvkwi7/IT6VaOzYvvnKkCJ0xFzRLWLkIALsLNCphgppPwsD96U2hg1ZYjh+ydE7MePzRGrkk3IicU=; + path=/; expires=Thu, 26-Oct-23 20:39:36 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:35 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=953224502.453388539; expires=Sun, 23-Oct-2033 20:09:35 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-9k6h5 + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6923-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350976.634338,VS0,VE361 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c5567dafe70e23-MXP + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:35 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 404 + message: Not Found + headers: + Date: + - Thu, 26 Oct 2023 20:09:36 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:36 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + Set-Cookie: + - __cf_bm=tdh61WrNxs1HqOgNEccp_bhWCPFRl4.fGSHYoCxD06c-1698350976-0-AeVW0AWEq9nyPg7kodcs78FCQv7E+GM8OZ30G/pX9ioscFaZBN+JyZ03WDZN9NlZDtzy8or1eti3XVchr1NoSgA=; + path=/; expires=Thu, 26-Oct-23 20:39:36 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:36 + GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax + - vuid=1542785613.1765692233; expires=Sun, 23-Oct-2033 20:09:36 GMT; Max-Age=315360000; + path=/; domain=.vimeo.com; secure; SameSite=None + X-Bapp-Server: + - pweb-7cc5595cc8-n6pj9 + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Age: + - '0' + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mxp6964-MXP + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350976.079909,VS0,VE380 + Vary: + - Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Server: + - cloudflare + Cf-Ray: + - 81c556806b5d0e85-MXP + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnZTU4NmQnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K + recorded_at: Thu, 26 Oct 2023 20:09:36 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml new file mode 100644 index 00000000..6f701a4e --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml @@ -0,0 +1,207 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:44 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:44 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - pweb-7cc5595cc8-khsfj + Age: + - '0' + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-1 + X-Backend-Proxy: + - webproxy2 + Accept-Ranges: + - bytes + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10577-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350985.780457,VS0,VE130 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=3sNwOJA_C.ulAx6QiAPq8uKtrgrsnE00_5pbxE75cx8-1698350984-0-ARyGkkbkt+z/dJEubca3XEb9/pCedxRnW53QfiD3zGXQ3sGvkx1DGLZd1LzdnwTZWmBXWioFIAjbEAmy5O8y3QU=; + path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556b6cd1d0da7-MRS + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:44 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:45 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:45 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - pweb-7cc5595cc8-c8r9l + Age: + - '0' + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Accept-Ranges: + - bytes + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10540-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350985.011799,VS0,VE143 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=V9u0K9WFXHb9ga1kJ118jdo4iI1Xj2cP.dwk3VKxv28-1698350985-0-AYc6f4pSgCf8hIQgS3drIBa/Ye6Uf4yEP3dmZl28/2inUOx67XP84PWoCIzpcSak5/P0sYNIilx9dNFwnWiByu8=; + path=/; expires=Thu, 26-Oct-23 20:39:45 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556b82d890d9a-MRS + body: + encoding: UTF-8 + string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have + been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers + have detected a high number of errors from your connection. To continue, please + verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" + recorded_at: Thu, 26 Oct 2023 20:09:45 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml new file mode 100644 index 00000000..fa4f0552 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml @@ -0,0 +1,207 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:43 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:43 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - pweb-7cc5595cc8-dgfs5 + Age: + - '0' + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Accept-Ranges: + - bytes + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10551-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350983.934437,VS0,VE141 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=2W044ykXU9M9cZMcKHFq7UqX6FtiJPmFQFlg16rmnQ8-1698350983-0-AYFE3dtYhIznhym5pYpbNT9YPHB2zuBRcm0cV/vZcW/jR1sI7waPZl68/7QUFdaYfSlgW2xgJslON412UWXILwk=; + path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556ab3a380da7-MRS + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:43 GMT +- request: + method: get + uri: https://vimeo.com/0812455 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:43 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:43 GMT + X-Vimeo-Device: + - d + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - pweb-7cc5595cc8-vkfws + Age: + - '0' + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-8 + X-Backend-Proxy: + - webproxy9 + Accept-Ranges: + - bytes + X-Served-By: + - cache-iad-kcgs7200157-IAD, cache-mrs10522-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350983.179888,VS0,VE126 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=8IJTai7o3MCip4m0KB0mQcjS3sd17JCwOm7dIM5cc5A-1698350983-0-AUoWi36omQieL5u2DTjbeMOaYHa3XSW1KYxy3KaV+subiFrKQEPc3PbaUecetLsfOdV5+vdtlWtVGcsnHuEqMMc=; + path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556acc80b076f-MRS + body: + encoding: UTF-8 + string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have + been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers + have detected a high number of errors from your connection. To continue, please + verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" + recorded_at: Thu, 26 Oct 2023 20:09:43 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_13_1_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_13_1_1.yml new file mode 100644 index 00000000..9fd7e565 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_13_1_1.yml @@ -0,0 +1,247 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/7848846 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 26 Oct 2023 20:09:29 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 20:15:20 GMT + X-Vimeo-Device: + - d + X-Ua-Compatible: + - IE=edge + X-Xss-Protection: + - 1; mode=block + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - sameorigin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Content-Security-Policy-Report-Only: + - 'default-src https: data: blob: wss: ''unsafe-inline'' ''unsafe-eval''; report-uri + /_csp' + X-Bapp-Server: + - pweb-7cc5595cc8-jszb8 + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '1' + X-Vserver: + - web-varnish-prod-varnish-15 + X-Backend-Proxy: + - webproxy16 + Age: + - '0' + X-Served-By: + - cache-iad-kjyo7100043-IAD, cache-mrs10566-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350969.453777,VS0,VE155 + Vary: + - User-Agent,Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=7Sv1a3K937tVywN.4py7CzPi8F1S0LyHa2DSVTP81QI-1698350969-0-AV2Mny/2UUVwPWVeUyO5k2wy2iATXl7k9aCoeUxXvKFMRJHSTmh3oYWvLcJ176HKutF/we8TRsMzZjJJ7sZ50K8=; + path=/; expires=Thu, 26-Oct-23 20:39:29 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c55656fa0b73af-MRS + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:29 GMT +- request: + method: get + uri: https://vimeo.com/7848846 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 26 Oct 2023 20:09:29 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 20:15:21 GMT + X-Vimeo-Device: + - d + X-Ua-Compatible: + - IE=edge + X-Xss-Protection: + - 1; mode=block + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - sameorigin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Content-Security-Policy-Report-Only: + - 'default-src https: data: blob: wss: ''unsafe-inline'' ''unsafe-eval''; report-uri + /_csp' + X-Bapp-Server: + - pweb-7cc5595cc8-g7clw + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '1' + X-Vserver: + - web-varnish-prod-varnish-15 + X-Backend-Proxy: + - webproxy16 + Age: + - '0' + X-Served-By: + - cache-iad-kjyo7100043-IAD, cache-mrs10545-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350970.710997,VS0,VE144 + Vary: + - User-Agent,Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=G_r1nUT3ZdoMkkGdEcSRmep82txzSAJoIIEb.Bl2i.o-1698350969-0-ASLyGCFCVVNZ7be0G9PWgA7wwqeG4MG2xoeFHDdIkPx5U29T1+dSmpljPlgMFsI60iq7V+7DIgJ9ZGmAy8hrDjI=; + path=/; expires=Thu, 26-Oct-23 20:39:29 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556589a880fce-MRS + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iVmltZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vdmltZW8uY29tLzc4NDg4NDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ2aWRlby5vdGhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJJS09OUyAtIFNMT1cgTElHSFQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iQXJ0aXN0OiBJS09OUy4gVGl0bGU6IFNMT1cgTElHSFQuIENyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uIExhYmVsOiBTRVJWSUNFLiB3d3cuc3J2Yy5zZSAgQWxidW0gJnF1b3Q7SWtvbnMmcXVvdDsgb3V0IG5vdyBDRC9MUC9TdHJlYW0gZnJvbSBTZXJ2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXBkYXRlZF90aW1lIiBjb250ZW50PSIyMDIyLTA3LTAxVDA2OjA1OjEwLTA0OjAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vdmlkZW8vMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kP2Y9d2VicCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOnNlY3VyZV91cmwiIGNvbnRlbnQ9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vdmlkZW8vMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kP2Y9d2VicCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOnR5cGUiIGNvbnRlbnQ9ImltYWdlL3dlYnAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTp3aWR0aCIgY29udGVudD0iMTI4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOmhlaWdodCIgY29udGVudD0iOTYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0iYWw6aW9zOmFwcF9uYW1lIiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmlvczphcHBfc3RvcmVfaWQiIGNvbnRlbnQ9IjQyNTE5NDc1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmlvczp1cmwiIGNvbnRlbnQ9InZpbWVvOi8vYXBwLnZpbWVvLmNvbS92aWRlb3MvNzg0ODg0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmFuZHJvaWQ6YXBwX25hbWUiIGNvbnRlbnQ9IlZpbWVvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0iYWw6YW5kcm9pZDpwYWNrYWdlIiBjb250ZW50PSJjb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmFuZHJvaWQ6dXJsIiBjb250ZW50PSJ2aW1lbzovL2FwcC52aW1lby5jb20vdmlkZW9zLzc4NDg4NDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJhbDp3ZWI6c2hvdWxkX2ZhbGxiYWNrIiBjb250ZW50PSJ0cnVlIj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQXJ0aXN0OiBJS09OUy4gVGl0bGU6IFNMT1cgTElHSFQuIENyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uIExhYmVsOiBTRVJWSUNFLiB3d3cuc3J2Yy5zZSAgQWxidW0gJnF1b3Q7SWtvbnMmcXVvdDsgb3V0IG5vdyBDRC9MUC9TdHJlYW0gZnJvbSBTZXJ2aWNlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InBsYXllciI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJAdmltZW8iPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6dGl0bGUiIGNvbnRlbnQ9IklLT05TIC0gU0xPVyBMSUdIVCI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iQXJ0aXN0OiBJS09OUy4gVGl0bGU6IFNMT1cgTElHSFQuIENyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uIExhYmVsOiBTRVJWSUNFLiB3d3cuc3J2Yy5zZSAgQWxidW0gJnF1b3Q7SWtvbnMmcXVvdDsgb3V0IG5vdyBDRC9MUC9TdHJlYW0gZnJvbSBTZXJ2aWNlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL3ZpZGVvLzM1MDE0NTg0LTQ0NjY1NjQyMWE5MzVmOWYyNTYzNzVmMWZhZTJkYzhhMmQ1MDAzMDMwOTk5YTIzNTYxYTc2YTRhZDVjZTFiZjEtZD9mPXdlYnAiPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6cGxheWVyIiBjb250ZW50PSJodHRwczovL3BsYXllci52aW1lby5jb20vdmlkZW8vNzg0ODg0Nj9oPTQ2NmViZDJmMzMiPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6cGxheWVyOndpZHRoIiBjb250ZW50PSIxMjgwIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnBsYXllcjpoZWlnaHQiIGNvbnRlbnQ9Ijk2MCI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJAdmltZW8iPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOm5hbWU6aXBob25lIiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6aWQ6aXBob25lIiBjb250ZW50PSI0MjUxOTQ3NTkiPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOnVybDppcGhvbmUiIGNvbnRlbnQ9InZpbWVvOi8vYXBwLnZpbWVvLmNvbS92aWRlb3MvNzg0ODg0NiI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6bmFtZTppcGFkIiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6aWQ6aXBhZCIgY29udGVudD0iNDI1MTk0NzU5Ij4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDp1cmw6aXBhZCIgY29udGVudD0idmltZW86Ly9hcHAudmltZW8uY29tL3ZpZGVvcy83ODQ4ODQ2Ij4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDpuYW1lOmdvb2dsZXBsYXkiIGNvbnRlbnQ9IlZpbWVvIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDppZDpnb29nbGVwbGF5IiBjb250ZW50PSJjb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6dXJsOmdvb2dsZXBsYXkiIGNvbnRlbnQ9InZpbWVvOi8vYXBwLnZpbWVvLmNvbS92aWRlb3MvNzg0ODg0NiI+CiAgICAKCgoKICAgICAgICAgICAgICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYXBpL29lbWJlZC5qc29uP3VybD1odHRwcyUzQSUyRiUyRnZpbWVvLmNvbSUyRjc4NDg4NDYlM0ZoJTNENDY2ZWJkMmYzMyIgdHlwZT0iYXBwbGljYXRpb24vanNvbitvZW1iZWQiIHRpdGxlPSJJS09OUyAtIFNMT1cgTElHSFQiPgogICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2FwaS9vZW1iZWQueG1sP3VybD1odHRwcyUzQSUyRiUyRnZpbWVvLmNvbSUyRjc4NDg4NDYlM0ZoJTNENDY2ZWJkMmYzMyIgdHlwZT0idGV4dC94bWwrb2VtYmVkIiB0aXRsZT0iSUtPTlMgLSBTTE9XIExJR0hUIj4KICAgICAgICAgICAgICAgIDxsaW5rIHJlbD0icGluZ2JhY2siIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL19waW5nYmFjayI+CiAgICAgICAgICAgICAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vNzg0ODg0NiI+CiAgICAgICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uLXByZWNvbXBvc2VkIiBocmVmPSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xODAiPgoKPGxpbmsgcmVsPSJtYXNrLWljb24iIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3ZnL2xlZ2FjeV92aWV3X3N1cHBvcnQvaXJpc19pY29uX3ZfNjQuc3ZnP2IwNmM0ZTFlZjEzZTdiZTczMDM0NjQ3OTYxMjE4ZjJhNTkwNDFhNGYiIGNvbG9yPSIjMTcyNzJlIj4KCiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2L2Zhdmljb24uaWNvP2IwNmM0ZTFlZjEzZTdiZTczMDM0NjQ3OTYxMjE4ZjJhNTkwNDFhNGYiIGRhdGEtcGxheT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BsYXlfMzIiIGRhdGEtcGF1c2U9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9wYXVzZV8zMiI+Cgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVJbWFnZSIgY29udGVudD0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL21haW4tdG91Y2hfMTQ0Ij4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlQ29sb3IiIGNvbnRlbnQ9IiMwMGFkZWYiPgogICAgICAgIDx0aXRsZT5JS09OUyAtIFNMT1cgTElHSFQgb24gVmltZW88L3RpdGxlPgogICAgICAgIDxzdHlsZT4KICAjb3Qtc2RrLWJ0biB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KPC9zdHlsZT4KPHNjcmlwdD4KICAoZnVuY3Rpb24oKSB7CiAgICBmdW5jdGlvbiBpc0NyYXdsZXIoKSB7CiAgICAgIHZhciBjcmF3bGVyVUEgPSBbCiAgICAgICAgJ2Fkc2JvdC1nb29nbGUnLAogICAgICAgICdhcHBsZWJvdCcsCiAgICAgICAgJ2JhaWR1c3BpZGVyJywKICAgICAgICAnYmluZ2JvdCcsCiAgICAgICAgJ2JsZWtrb2JvdCcsCiAgICAgICAgJ0VtYmVkbHknLAogICAgICAgICdmYWNlYm9va2V4dGVybmFsaGl0JywKICAgICAgICAnRmFjZWJvdCcsCiAgICAgICAgJ2ZlZWRmZXRjaGVyLWdvb2dsZScsCiAgICAgICAgJ2ZlZWRseScsCiAgICAgICAgJ0ZsaXBib2FyZFByb3h5JywKICAgICAgICAnZ29vZ2xlIHdlYiBwcmV2aWV3JywKICAgICAgICAnZ29vZ2xlYm90JywKICAgICAgICAnZ29vZ2xlYm90LW5ld3MnLAogICAgICAgICdnb29nbGUtaW5zcGVjdGlvbnRvb2wnLAogICAgICAgICdnb29nbGVvdGhlcicsCiAgICAgICAgJ0dyYXBlc2hvdENyYXdsZXInLAogICAgICAgICdsaW5rZWRpbmJvdCcsCiAgICAgICAgJ21haWwucnVfYm90JywKICAgICAgICAnbWVkaWFwYXJ0bmVycy1nb29nbGUnLAogICAgICAgICdtc25ib3RfbW9iaWxlJywKICAgICAgICAnbXNuYm90JywKICAgICAgICAnbXNuYm90JywKICAgICAgICAncGludGVyZXN0JywKICAgICAgICAnU2V6bmFtJywKICAgICAgICAnU2t5cGVVcmlQcmV2aWV3JywKICAgICAgICAnc2x1cnAnLAogICAgICAgICdzdG9yZWJvdC1nb29nbGUnLAogICAgICAgICdzdXBlcmZlZWRyIGJvdCcsCiAgICAgICAgJ3R1bWJscicsCiAgICAgICAgJ3R3aXR0ZXJib3QnLAogICAgICAgICd5YW5kZXgnLAogICAgICAgICdwcmVyZW5kZXInCiAgICAgIF07CiAgICAgIGNvbnN0IHJlZ0V4ID0gbmV3IFJlZ0V4cCgKICAgICAgICBgKCR7Y3Jhd2xlclVBLmpvaW4oJ3wnKS5yZXBsYWNlKCcuJywgJ1xcLicpLnJlcGxhY2UoJy0nLCAnXFwtJyl9KWAsCiAgICAgICAgJ2knLAogICAgICApOwoKICAgICAgcmV0dXJuICEhd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2gocmVnRXgpOwogICAgfQoKICAgIGZ1bmN0aW9uIGFkZFNjcmlwdChzcmMsIGRhdGFTZXQpIHsKICAgICAgdmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgc2NyaXB0RWxlbWVudC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICAgIHNjcmlwdEVsZW1lbnQuc3JjID0gc3JjOwoKICAgICAgaWYgKGRhdGFTZXQpIHsKICAgICAgICBPYmplY3Qua2V5cyhkYXRhU2V0KS5mb3JFYWNoKChrZXkpID0+IHsKICAgICAgICAgIHNjcmlwdEVsZW1lbnQuZGF0YXNldFtrZXldID0gZGF0YVNldFtrZXldOwogICAgICAgIH0pOwogICAgICB9CgogICAgICB2YXIgZmlyc3RTY3JpcHQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07CiAgICAgIGlmIChmaXJzdFNjcmlwdCkgewogICAgICAgIGZpcnN0U2NyaXB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNjcmlwdEVsZW1lbnQsIGZpcnN0U2NyaXB0KTsKICAgICAgfQogICAgfQoKICAgIGlmIChpc0NyYXdsZXIoKSkgcmV0dXJuOwoKICAgICAgICBhZGRTY3JpcHQoCiAgICAgICdodHRwczovL2Nkbi5jb29raWVsYXcub3JnL3NjcmlwdHRlbXBsYXRlcy9vdFNES1N0dWIuanMnLCB7CiAgICAgICAgZG9tYWluU2NyaXB0OiAnZDMyNzBmMWYtMjRmMy00NDJhLWI4ZWUtZTY2ZjQyYjNiYjE5JywKICAgICAgICBkb2N1bWVudExhbmd1YWdlOiAndHJ1ZScKICAgICAgfQogICAgKTsKICB9KSgpOwoKICBmdW5jdGlvbiBPcHRhbm9uV3JhcHBlcigpIHsKICAgIC8qKgogICAgICogU2VuZGluZyBsb2NhdGlvbiBkYXRhIGZvciBibG9ja2luZyBHVE0gY29va2llcwogICAgICovCiAgICBvbmVUcnVzdFRyaWdnZXJlZCA9IHRydWU7CiAgICB2YXIgbG9jYXRpb24gPSBPbmVUcnVzdC5nZXRHZW9sb2NhdGlvbkRhdGEoKTsKICAgIGlmKHdpbmRvdyAmJiB3aW5kb3cuX2d0bSkgewogICAgICB3aW5kb3cuX2d0bS5wdXNoKGxvY2F0aW9uKTsKICAgIH0KICAgIC8qKgogICAgICogVGhpcyBpcyBuZWVkZWQgaW4gY2FzZSB0aGUgc2NyaXB0cyBsb2FkcyBiZWZvcmUgdGhlIG9uZXRydXN0IGJ0biBsb2FkcwogICAgICovCiAgICBpZihsb2NhdGlvbiAmJiBsb2NhdGlvbi5jb3VudHJ5ID09PSAnRlInICYmIGRvY3VtZW50LmhlYWQpIHsKICAgICAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CiAgICAgIHZhciBzdHlsZXNoZWV0ID0gc3R5bGUuc2hlZXQ7CiAgICAgIGlmIChzdHlsZXNoZWV0KSB7CiAgICAgICAgc3R5bGVzaGVldC5pbnNlcnRSdWxlKCcjb3Qtc2RrLWJ0biB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9Jyk7CiAgICAgIH0KICAgIH0KICB9Cjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIC8vIEZpcnN0IElucHV0IERlbGF5IHRyYWNraW5nLiBIaWdoIHByaW9yaXR5IGxvYWRpbmcgdG8gbm90IG1pc3MgZXZlbnQKICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0dvb2dsZUNocm9tZUxhYnMvZmlyc3QtaW5wdXQtZGVsYXkvYmxvYi9tYXN0ZXIvZGlzdC9maXJzdC1pbnB1dC1kZWxheS5taW4uanMKICAgICAgICAgICAgIWZ1bmN0aW9uKG4sZSl7dmFyIHQsbyxpLGM9W10sZj17cGFzc2l2ZTohMCxjYXB0dXJlOiEwfSxyPW5ldyBEYXRlLGE9InBvaW50ZXJ1cCIsdT0icG9pbnRlcmNhbmNlbCI7ZnVuY3Rpb24gcChuLGMpe3R8fCh0PWMsbz1uLGk9bmV3IERhdGUsdyhlKSxzKCkpfWZ1bmN0aW9uIHMoKXtvPj0wJiZvPGktciYmKGMuZm9yRWFjaChmdW5jdGlvbihuKXtuKG8sdCl9KSxjPVtdKX1mdW5jdGlvbiBsKHQpe2lmKHQuY2FuY2VsYWJsZSl7dmFyIG89KHQudGltZVN0YW1wPjFlMTI/bmV3IERhdGU6cGVyZm9ybWFuY2Uubm93KCkpLXQudGltZVN0YW1wOyJwb2ludGVyZG93biI9PXQudHlwZT9mdW5jdGlvbih0LG8pe2Z1bmN0aW9uIGkoKXtwKHQsbykscigpfWZ1bmN0aW9uIGMoKXtyKCl9ZnVuY3Rpb24gcigpe2UoYSxpLGYpLGUodSxjLGYpfW4oYSxpLGYpLG4odSxjLGYpfShvLHQpOnAobyx0KX19ZnVuY3Rpb24gdyhuKXtbImNsaWNrIiwibW91c2Vkb3duIiwia2V5ZG93biIsInRvdWNoc3RhcnQiLCJwb2ludGVyZG93biJdLmZvckVhY2goZnVuY3Rpb24oZSl7bihlLGwsZil9KX13KG4pLHNlbGYucGVyZk1ldHJpY3M9c2VsZi5wZXJmTWV0cmljc3x8e30sc2VsZi5wZXJmTWV0cmljcy5vbkZpcnN0SW5wdXREZWxheT1mdW5jdGlvbihuKXtjLnB1c2gobikscygpfX0oYWRkRXZlbnRMaXN0ZW5lcixyZW1vdmVFdmVudExpc3RlbmVyKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgLy8gQ3JlYXRlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZm9yIHRyYWNraW5nIFRUSQogICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0dvb2dsZUNocm9tZUxhYnMvdHRpLXBvbHlmaWxsCiAgICAgICAgICAhZnVuY3Rpb24oKXtpZignUGVyZm9ybWFuY2VMb25nVGFza1RpbWluZycgaW4gd2luZG93KXt2YXIgZz13aW5kb3cuX190dGk9e2U6W119OwogICAgICAgICAgZy5vPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGZ1bmN0aW9uKGwpe2cuZT1nLmUuY29uY2F0KGwuZ2V0RW50cmllcygpKX0pOwogICAgICAgICAgZy5vLm9ic2VydmUoe2VudHJ5VHlwZXM6Wydsb25ndGFzayddfSl9fSgpOwogICAgICAgIDwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KaWYod2luZG93JiZ3aW5kb3cuZmV0Y2gmJi0xPT09d2luZG93LmZldGNoLnRvU3RyaW5nKCkuaW5kZXhPZigiUHJvZmlsaW5nIikmJi0xIT09ZG9jdW1lbnQuY29va2llLmluZGV4T2YoImxvZ3M9MSIpKXtjb25zdCBlPXdpbmRvdy5mZXRjaCxuPVsiYXBpLnZpbWVvLmNvbSIsInZpbWVvLmNvbSJdO3dpbmRvdy5mZXRjaD0oYXN5bmMoLi4udCk9PntsZXRbaSxvXT10O2NvbnN0IGQ9bmV3IFVSTChpLGRvY3VtZW50LmJhc2VVUkkpLmhvc3Q7cmV0dXJuIG8mJm8uaGVhZGVycyYmbi5pbmNsdWRlcyhkKSYmKG8uaGVhZGVycy5Qcm9maWxpbmc9MSksYXdhaXQgZShpLG8pfSl9Cjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KO3dpbmRvdy5OUkVVTXx8KE5SRVVNPXt9KTtOUkVVTS5pbml0PXtwcml2YWN5Ontjb29raWVzX2VuYWJsZWQ6dHJ1ZX19Owp3aW5kb3cuTlJFVU18fChOUkVVTT17fSksX19ucl9yZXF1aXJlPWZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKG4pe2lmKCFlW25dKXt2YXIgbz1lW25dPXtleHBvcnRzOnt9fTt0W25dWzBdLmNhbGwoby5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBvPXRbbl1bMV1bZV07cmV0dXJuIHIob3x8ZSl9LG8sby5leHBvcnRzKX1yZXR1cm4gZVtuXS5leHBvcnRzfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBfX25yX3JlcXVpcmUpcmV0dXJuIF9fbnJfcmVxdWlyZTtmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKylyKG5bb10pO3JldHVybiByfSh7MTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7dHJ5e2MuY29uc29sZSYmY29uc29sZS5sb2codCl9Y2F0Y2goZSl7fX12YXIgbyxpPXQoImVlIiksYT10KDI4KSxjPXt9O3RyeXtvPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJfX25yX2ZsYWdzIikuc3BsaXQoIiwiKSxjb25zb2xlJiYiZnVuY3Rpb24iPT10eXBlb2YgY29uc29sZS5sb2cmJihjLmNvbnNvbGU9ITAsby5pbmRleE9mKCJkZXYiKSE9PS0xJiYoYy5kZXY9ITApLG8uaW5kZXhPZigibnJfZGV2IikhPT0tMSYmKGMubnJEZXY9ITApKX1jYXRjaChzKXt9Yy5uckRldiYmaS5vbigiaW50ZXJuYWwtZXJyb3IiLGZ1bmN0aW9uKHQpe3IodC5zdGFjayl9KSxjLmRldiYmaS5vbigiZm4tZXJyIixmdW5jdGlvbih0LGUsbil7cihuLnN0YWNrKX0pLGMuZGV2JiYocigiTlIgQUdFTlQgSU4gREVWRUxPUE1FTlQgTU9ERSIpLHIoImZsYWdzOiAiK2EoYyxmdW5jdGlvbih0LGUpe3JldHVybiB0fSkuam9pbigiLCAiKSkpfSx7fV0sMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scixjKXt0cnl7bD9sLT0xOm8oY3x8bmV3IFVuY2F1Z2h0RXhjZXB0aW9uKHQsZSxuKSwhMCl9Y2F0Y2godSl7dHJ5e2koImllcnIiLFt1LHMubm93KCksITBdKX1jYXRjaChkKXt9fXJldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBmJiZmLmFwcGx5KHRoaXMsYShhcmd1bWVudHMpKX1mdW5jdGlvbiBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbil7dGhpcy5tZXNzYWdlPXR8fCJVbmNhdWdodCBlcnJvciB3aXRoIG5vIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24iLHRoaXMuc291cmNlVVJMPWUsdGhpcy5saW5lPW59ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPWU/bnVsbDpzLm5vdygpO2koImVyciIsW3Qsbl0pfXZhciBpPXQoImhhbmRsZSIpLGE9dCgyOSksYz10KCJlZSIpLHM9dCgibG9hZGVyIiksdT10KCJnb3MiKSxmPXdpbmRvdy5vbmVycm9yLGQ9ITEscD0ibnJAc2VlbkVycm9yIixsPTA7cy5mZWF0dXJlcy5lcnI9ITAsdCgxKSx3aW5kb3cub25lcnJvcj1yO3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2goaCl7InN0YWNrImluIGgmJih0KDEzKSx0KDEyKSwiYWRkRXZlbnRMaXN0ZW5lciJpbiB3aW5kb3cmJnQoNikscy54aHJXcmFwcGFibGUmJnQoMTQpLGQ9ITApfWMub24oImZuLXN0YXJ0IixmdW5jdGlvbih0LGUsbil7ZCYmKGwrPTEpfSksYy5vbigiZm4tZXJyIixmdW5jdGlvbih0LGUsbil7ZCYmIW5bcF0mJih1KG4scCxmdW5jdGlvbigpe3JldHVybiEwfSksdGhpcy50aHJvd249ITAsbyhuKSl9KSxjLm9uKCJmbi1lbmQiLGZ1bmN0aW9uKCl7ZCYmIXRoaXMudGhyb3duJiZsPjAmJihsLT0xKX0pLGMub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtpKCJpZXJyIixbdCxzLm5vdygpLCEwXSl9KX0se31dLDM6W2Z1bmN0aW9uKHQsZSxuKXt0KCJsb2FkZXIiKS5mZWF0dXJlcy5pbnM9ITB9LHt9XSw0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe0wrKyxUPWcuaGFzaCx0aGlzW2ZdPXkubm93KCl9ZnVuY3Rpb24gbygpe0wtLSxnLmhhc2ghPT1UJiZpKDAsITApO3ZhciB0PXkubm93KCk7dGhpc1toXT1+fnRoaXNbaF0rdC10aGlzW2ZdLHRoaXNbZF09dH1mdW5jdGlvbiBpKHQsZSl7RS5lbWl0KCJuZXdVUkwiLFsiIitnLGVdKX1mdW5jdGlvbiBhKHQsZSl7dC5vbihlLGZ1bmN0aW9uKCl7dGhpc1tlXT15Lm5vdygpfSl9dmFyIGM9Ii1zdGFydCIscz0iLWVuZCIsdT0iLWJvZHkiLGY9ImZuIitjLGQ9ImZuIitzLHA9ImNiIitjLGw9ImNiIitzLGg9ImpzVGltZSIsbT0iZmV0Y2giLHY9ImFkZEV2ZW50TGlzdGVuZXIiLHc9d2luZG93LGc9dy5sb2NhdGlvbix5PXQoImxvYWRlciIpO2lmKHdbdl0mJnkueGhyV3JhcHBhYmxlKXt2YXIgeD10KDEwKSxiPXQoMTEpLEU9dCg4KSxSPXQoNiksTz10KDEzKSxOPXQoNyksUD10KDE0KSxNPXQoOSksUz10KCJlZSIpLEM9Uy5nZXQoInRyYWNlciIpO3QoMTYpLHkuZmVhdHVyZXMuc3BhPSEwO3ZhciBULEw9MDtTLm9uKGYsciksYi5vbihwLHIpLE0ub24ocCxyKSxTLm9uKGQsbyksYi5vbihsLG8pLE0ub24obCxvKSxTLmJ1ZmZlcihbZixkLCJ4aHItZG9uZSIsInhoci1yZXNvbHZlZCJdKSxSLmJ1ZmZlcihbZl0pLE8uYnVmZmVyKFsic2V0VGltZW91dCIrcywiY2xlYXJUaW1lb3V0IitjLGZdKSxQLmJ1ZmZlcihbZiwibmV3LXhociIsInNlbmQteGhyIitjXSksTi5idWZmZXIoW20rYyxtKyItZG9uZSIsbSt1K2MsbSt1K3NdKSxFLmJ1ZmZlcihbIm5ld1VSTCJdKSx4LmJ1ZmZlcihbZl0pLGIuYnVmZmVyKFsicHJvcGFnYXRlIixwLGwsImV4ZWN1dG9yLWVyciIsInJlc29sdmUiK2NdKSxDLmJ1ZmZlcihbZiwibm8tIitmXSksTS5idWZmZXIoWyJuZXctanNvbnAiLCJjYi1zdGFydCIsImpzb25wLWVycm9yIiwianNvbnAtZW5kIl0pLGEoUCwic2VuZC14aHIiK2MpLGEoUywieGhyLXJlc29sdmVkIiksYShTLCJ4aHItZG9uZSIpLGEoTixtK2MpLGEoTixtKyItZG9uZSIpLGEoTSwibmV3LWpzb25wIiksYShNLCJqc29ucC1lbmQiKSxhKE0sImNiLXN0YXJ0IiksRS5vbigicHVzaFN0YXRlLWVuZCIsaSksRS5vbigicmVwbGFjZVN0YXRlLWVuZCIsaSksd1t2XSgiaGFzaGNoYW5nZSIsaSwhMCksd1t2XSgibG9hZCIsaSwhMCksd1t2XSgicG9wc3RhdGUiLGZ1bmN0aW9uKCl7aSgwLEw+MSl9LCEwKX19LHt9XSw1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt9aWYod2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSl7dmFyIG89dCgiZWUiKSxpPXQoImhhbmRsZSIpLGE9dCgxMyksYz10KDEyKSxzPSJsZWFyUmVzb3VyY2VUaW1pbmdzIix1PSJhZGRFdmVudExpc3RlbmVyIixmPSJyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiLGQ9ImJzdFJlc291cmNlIixwPSJyZXNvdXJjZSIsbD0iLXN0YXJ0IixoPSItZW5kIixtPSJmbiIrbCx2PSJmbiIraCx3PSJic3RUaW1lciIsZz0icHVzaFN0YXRlIix5PXQoImxvYWRlciIpO3kuZmVhdHVyZXMuc3RuPSEwLHQoOCksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpO3ZhciB4PU5SRVVNLm8uRVY7by5vbihtLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmKHRoaXMuYnN0U3RhcnQ9eS5ub3coKSl9KSxvLm9uKHYsZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdO24gaW5zdGFuY2VvZiB4JiZpKCJic3QiLFtuLGUsdGhpcy5ic3RTdGFydCx5Lm5vdygpXSl9KSxhLm9uKG0sZnVuY3Rpb24odCxlLG4pe3RoaXMuYnN0U3RhcnQ9eS5ub3coKSx0aGlzLmJzdFR5cGU9bn0pLGEub24odixmdW5jdGlvbih0LGUpe2kodyxbZSx0aGlzLmJzdFN0YXJ0LHkubm93KCksdGhpcy5ic3RUeXBlXSl9KSxjLm9uKG0sZnVuY3Rpb24oKXt0aGlzLmJzdFN0YXJ0PXkubm93KCl9KSxjLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiXSl9KSxvLm9uKGcrbCxmdW5jdGlvbih0KXt0aGlzLnRpbWU9eS5ub3coKSx0aGlzLnN0YXJ0UGF0aD1sb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNofSksby5vbihnK2gsZnVuY3Rpb24odCl7aSgiYnN0SGlzdCIsW2xvY2F0aW9uLnBhdGhuYW1lK2xvY2F0aW9uLmhhc2gsdGhpcy5zdGFydFBhdGgsdGhpcy50aW1lXSl9KSx1IGluIHdpbmRvdy5wZXJmb3JtYW5jZSYmKHdpbmRvdy5wZXJmb3JtYW5jZVsiYyIrc10/d2luZG93LnBlcmZvcm1hbmNlW3VdKGYsZnVuY3Rpb24odCl7aShkLFt3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShwKV0pLHdpbmRvdy5wZXJmb3JtYW5jZVsiYyIrc10oKX0sITEpOndpbmRvdy5wZXJmb3JtYW5jZVt1XSgid2Via2l0IitmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbIndlYmtpdEMiK3NdKCl9LCExKSksZG9jdW1lbnRbdV0oInNjcm9sbCIscix7cGFzc2l2ZTohMH0pLGRvY3VtZW50W3VdKCJrZXlwcmVzcyIsciwhMSksZG9jdW1lbnRbdV0oImNsaWNrIixyLCExKX19LHt9XSw2OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmb3IodmFyIGU9dDtlJiYhZS5oYXNPd25Qcm9wZXJ0eShmKTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7ZSYmbyhlKX1mdW5jdGlvbiBvKHQpe2MuaW5QbGFjZSh0LFtmLGRdLCItIixpKX1mdW5jdGlvbiBpKHQsZSl7cmV0dXJuIHRbMV19dmFyIGE9dCgiZWUiKS5nZXQoImV2ZW50cyIpLGM9dCgid3JhcC1mdW5jdGlvbiIpKGEsITApLHM9dCgiZ29zIiksdT1YTUxIdHRwUmVxdWVzdCxmPSJhZGRFdmVudExpc3RlbmVyIixkPSJyZW1vdmVFdmVudExpc3RlbmVyIjtlLmV4cG9ydHM9YSwiZ2V0UHJvdG90eXBlT2YiaW4gT2JqZWN0PyhyKGRvY3VtZW50KSxyKHdpbmRvdykscih1LnByb3RvdHlwZSkpOnUucHJvdG90eXBlLmhhc093blByb3BlcnR5KGYpJiYobyh3aW5kb3cpLG8odS5wcm90b3R5cGUpKSxhLm9uKGYrIi1zdGFydCIsZnVuY3Rpb24odCxlKXt2YXIgbj10WzFdLHI9cyhuLCJuckB3cmFwcGVkIixmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi5oYW5kbGVFdmVudClyZXR1cm4gbi5oYW5kbGVFdmVudC5hcHBseShuLGFyZ3VtZW50cyl9dmFyIGU9e29iamVjdDp0LCJmdW5jdGlvbiI6bn1bdHlwZW9mIG5dO3JldHVybiBlP2MoZSwiZm4tIixudWxsLGUubmFtZXx8ImFub255bW91cyIpOm59KTt0aGlzLndyYXBwZWQ9dFsxXT1yfSksYS5vbihkKyItc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMV09dGhpcy53cmFwcGVkfHx0WzFdfSl9LHt9XSw3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dmFyIHI9dFtlXTsiZnVuY3Rpb24iPT10eXBlb2YgciYmKHRbZV09ZnVuY3Rpb24oKXt2YXIgdD1pKGFyZ3VtZW50cyksZT17fTtvLmVtaXQobisiYmVmb3JlLXN0YXJ0IixbdF0sZSk7dmFyIGE7ZVttXSYmZVttXS5kdCYmKGE9ZVttXS5kdCk7dmFyIGM9ci5hcHBseSh0aGlzLHQpO3JldHVybiBvLmVtaXQobisic3RhcnQiLFt0LGFdLGMpLGMudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gby5lbWl0KG4rImVuZCIsW251bGwsdF0sYyksdH0sZnVuY3Rpb24odCl7dGhyb3cgby5lbWl0KG4rImVuZCIsW3RdLGMpLHR9KX0pfXZhciBvPXQoImVlIikuZ2V0KCJmZXRjaCIpLGk9dCgyOSksYT10KDI4KTtlLmV4cG9ydHM9bzt2YXIgYz13aW5kb3cscz0iZmV0Y2gtIix1PXMrImJvZHktIixmPVsiYXJyYXlCdWZmZXIiLCJibG9iIiwianNvbiIsInRleHQiLCJmb3JtRGF0YSJdLGQ9Yy5SZXF1ZXN0LHA9Yy5SZXNwb25zZSxsPWMuZmV0Y2gsaD0icHJvdG90eXBlIixtPSJuckBjb250ZXh0IjtkJiZwJiZsJiYoYShmLGZ1bmN0aW9uKHQsZSl7cihkW2hdLGUsdSkscihwW2hdLGUsdSl9KSxyKGMsImZldGNoIixzKSxvLm9uKHMrImVuZCIsZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2lmKGUpe3ZhciByPWUuaGVhZGVycy5nZXQoImNvbnRlbnQtbGVuZ3RoIik7bnVsbCE9PXImJihuLnJ4U2l6ZT1yKSxvLmVtaXQocysiZG9uZSIsW251bGwsZV0sbil9ZWxzZSBvLmVtaXQocysiZG9uZSIsW3RdLG4pfSkpfSx7fV0sODpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXQoImVlIikuZ2V0KCJoaXN0b3J5Iiksbz10KCJ3cmFwLWZ1bmN0aW9uIikocik7ZS5leHBvcnRzPXI7dmFyIGk9d2luZG93Lmhpc3RvcnkmJndpbmRvdy5oaXN0b3J5LmNvbnN0cnVjdG9yJiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsYT13aW5kb3cuaGlzdG9yeTtpJiZpLnB1c2hTdGF0ZSYmaS5yZXBsYWNlU3RhdGUmJihhPWkpLG8uaW5QbGFjZShhLFsicHVzaFN0YXRlIiwicmVwbGFjZVN0YXRlIl0sIi0iKX0se31dLDk6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2Z1bmN0aW9uIGUoKXtzLmVtaXQoImpzb25wLWVuZCIsW10scCksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixlLCExKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixuLCExKX1mdW5jdGlvbiBuKCl7cy5lbWl0KCJqc29ucC1lcnJvciIsW10scCkscy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9dmFyIHI9dCYmInN0cmluZyI9PXR5cGVvZiB0Lm5vZGVOYW1lJiYic2NyaXB0Ij09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihyKXt2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgdC5hZGRFdmVudExpc3RlbmVyO2lmKG8pe3ZhciBhPWkodC5zcmMpO2lmKGEpe3ZhciBmPWMoYSksZD0iZnVuY3Rpb24iPT10eXBlb2YgZi5wYXJlbnRbZi5rZXldO2lmKGQpe3ZhciBwPXt9O3UuaW5QbGFjZShmLnBhcmVudCxbZi5rZXldLCJjYi0iLHApLHQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSkscy5lbWl0KCJuZXctanNvbnAiLFt0LnNyY10scCl9fX19fWZ1bmN0aW9uIG8oKXtyZXR1cm4iYWRkRXZlbnRMaXN0ZW5lciJpbiB3aW5kb3d9ZnVuY3Rpb24gaSh0KXt2YXIgZT10Lm1hdGNoKGYpO3JldHVybiBlP2VbMV06bnVsbH1mdW5jdGlvbiBhKHQsZSl7dmFyIG49dC5tYXRjaChwKSxyPW5bMV0sbz1uWzNdO3JldHVybiBvP2EobyxlW3JdKTplW3JdfWZ1bmN0aW9uIGModCl7dmFyIGU9dC5tYXRjaChkKTtyZXR1cm4gZSYmZS5sZW5ndGg+PTM/e2tleTplWzJdLHBhcmVudDphKGVbMV0sd2luZG93KX06e2tleTp0LHBhcmVudDp3aW5kb3d9fXZhciBzPXQoImVlIikuZ2V0KCJqc29ucCIpLHU9dCgid3JhcC1mdW5jdGlvbiIpKHMpO2lmKGUuZXhwb3J0cz1zLG8oKSl7dmFyIGY9L1s/Jl0oPzpjYWxsYmFja3xjYik9KFteJiNdKykvLGQ9LyguKilcLihbXi5dKykvLHA9L14oXHcrKShcLnwkKSguKikkLyxsPVsiYXBwZW5kQ2hpbGQiLCJpbnNlcnRCZWZvcmUiLCJyZXBsYWNlQ2hpbGQiXTtOb2RlJiZOb2RlLnByb3RvdHlwZSYmTm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ/dS5pblBsYWNlKE5vZGUucHJvdG90eXBlLGwsImRvbS0iKToodS5pblBsYWNlKEhUTUxFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIiksdS5pblBsYWNlKEhUTUxIZWFkRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MQm9keUVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSkscy5vbigiZG9tLXN0YXJ0IixmdW5jdGlvbih0KXtyKHRbMF0pfSl9fSx7fV0sMTA6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgibXV0YXRpb24iKSxvPXQoIndyYXAtZnVuY3Rpb24iKShyKSxpPU5SRVVNLm8uTU87ZS5leHBvcnRzPXIsaSYmKHdpbmRvdy5NdXRhdGlvbk9ic2VydmVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgaT9uZXcgaShvKHQsImZuLSIpKTppLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sTXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGU9aS5wcm90b3R5cGUpfSx7fV0sMTE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPWkuY29udGV4dCgpLG49Yyh0LCJleGVjdXRvci0iLGUsbnVsbCwhMSkscj1uZXcgdShuKTtyZXR1cm4gaS5jb250ZXh0KHIpLmdldEN0eD1mdW5jdGlvbigpe3JldHVybiBlfSxyfXZhciBvPXQoIndyYXAtZnVuY3Rpb24iKSxpPXQoImVlIikuZ2V0KCJwcm9taXNlIiksYT10KCJlZSIpLmdldE9yU2V0Q29udGV4dCxjPW8oaSkscz10KDI4KSx1PU5SRVVNLm8uUFI7ZS5leHBvcnRzPWksdSYmKHdpbmRvdy5Qcm9taXNlPXIsWyJhbGwiLCJyYWNlIl0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24obil7ZnVuY3Rpb24gcih0KXtyZXR1cm4gZnVuY3Rpb24oKXtpLmVtaXQoInByb3BhZ2F0ZSIsW251bGwsIW9dLGEsITEsITEpLG89b3x8IXR9fXZhciBvPSExO3MobixmdW5jdGlvbihlLG4pe1Byb21pc2UucmVzb2x2ZShuKS50aGVuKHIoImFsbCI9PT10KSxyKCExKSl9KTt2YXIgYT1lLmFwcGx5KHUsYXJndW1lbnRzKSxjPXUucmVzb2x2ZShhKTtyZXR1cm4gY319KSxbInJlc29sdmUiLCJyZWplY3QiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXVbdF07dVt0XT1mdW5jdGlvbih0KXt2YXIgbj1lLmFwcGx5KHUsYXJndW1lbnRzKTtyZXR1cm4gdCE9PW4mJmkuZW1pdCgicHJvcGFnYXRlIixbdCwhMF0sbiwhMSwhMSksbn19KSx1LnByb3RvdHlwZVsiY2F0Y2giXT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50aGVuKG51bGwsdCl9LHUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTpyfX0pLHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModSksZnVuY3Rpb24odCxlKXt0cnl7cltlXT11W2VdfWNhdGNoKG4pe319KSxvLndyYXBJblBsYWNlKHUucHJvdG90eXBlLCJ0aGVuIixmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49by5hcmdzVG9BcnJheS5hcHBseSh0aGlzLGFyZ3VtZW50cykscj1hKGUpO3IucHJvbWlzZT1lLG5bMF09YyhuWzBdLCJjYi0iLHIsbnVsbCwhMSksblsxXT1jKG5bMV0sImNiLSIscixudWxsLCExKTt2YXIgcz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIubmV4dFByb21pc2U9cyxpLmVtaXQoInByb3BhZ2F0ZSIsW2UsITBdLHMsITEsITEpLHN9fSksaS5vbigiZXhlY3V0b3Itc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMF09Yyh0WzBdLCJyZXNvbHZlLSIsdGhpcyxudWxsLCExKSx0WzFdPWModFsxXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSl9KSxpLm9uKCJleGVjdXRvci1lcnIiLGZ1bmN0aW9uKHQsZSxuKXt0WzFdKG4pfSksaS5vbigiY2ItZW5kIixmdW5jdGlvbih0LGUsbil7aS5lbWl0KCJwcm9wYWdhdGUiLFtuLCEwXSx0aGlzLm5leHRQcm9taXNlLCExLCExKX0pLGkub24oInByb3BhZ2F0ZSIsZnVuY3Rpb24odCxlLG4pe3RoaXMuZ2V0Q3R4JiYhZXx8KHRoaXMuZ2V0Q3R4PWZ1bmN0aW9uKCl7aWYodCBpbnN0YW5jZW9mIFByb21pc2UpdmFyIGU9aS5jb250ZXh0KHQpO3JldHVybiBlJiZlLmdldEN0eD9lLmdldEN0eCgpOnRoaXN9KX0pLHIudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIit1fSl9LHt9XSwxMjpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXQoImVlIikuZ2V0KCJyYWYiKSxvPXQoIndyYXAtZnVuY3Rpb24iKShyKSxpPSJlcXVlc3RBbmltYXRpb25GcmFtZSI7ZS5leHBvcnRzPXIsby5pblBsYWNlKHdpbmRvdyxbInIiK2ksIm1velIiK2ksIndlYmtpdFIiK2ksIm1zUiIraV0sInJhZi0iKSxyLm9uKCJyYWYtc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMF09byh0WzBdLCJmbi0iKX0pfSx7fV0sMTM6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuKXt0WzBdPWEodFswXSwiZm4tIixudWxsLG4pfWZ1bmN0aW9uIG8odCxlLG4pe3RoaXMubWV0aG9kPW4sdGhpcy50aW1lckR1cmF0aW9uPWlzTmFOKHRbMV0pPzA6K3RbMV0sdFswXT1hKHRbMF0sImZuLSIsdGhpcyxuKX12YXIgaT10KCJlZSIpLmdldCgidGltZXIiKSxhPXQoIndyYXAtZnVuY3Rpb24iKShpKSxjPSJzZXRUaW1lb3V0IixzPSJzZXRJbnRlcnZhbCIsdT0iY2xlYXJUaW1lb3V0IixmPSItc3RhcnQiLGQ9Ii0iO2UuZXhwb3J0cz1pLGEuaW5QbGFjZSh3aW5kb3csW2MsInNldEltbWVkaWF0ZSJdLGMrZCksYS5pblBsYWNlKHdpbmRvdyxbc10scytkKSxhLmluUGxhY2Uod2luZG93LFt1LCJjbGVhckltbWVkaWF0ZSJdLHUrZCksaS5vbihzK2YsciksaS5vbihjK2Ysbyl9LHt9XSwxNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXtkLmluUGxhY2UoZSxbIm9ucmVhZHlzdGF0ZWNoYW5nZSJdLCJmbi0iLGMpfWZ1bmN0aW9uIG8oKXt2YXIgdD10aGlzLGU9Zi5jb250ZXh0KHQpO3QucmVhZHlTdGF0ZT4zJiYhZS5yZXNvbHZlZCYmKGUucmVzb2x2ZWQ9ITAsZi5lbWl0KCJ4aHItcmVzb2x2ZWQiLFtdLHQpKSxkLmluUGxhY2UodCxnLCJmbi0iLGMpfWZ1bmN0aW9uIGkodCl7eS5wdXNoKHQpLGgmJihiP2IudGhlbihhKTp2P3YoYSk6KEU9LUUsUi5kYXRhPUUpKX1mdW5jdGlvbiBhKCl7Zm9yKHZhciB0PTA7dDx5Lmxlbmd0aDt0KyspcihbXSx5W3RdKTt5Lmxlbmd0aCYmKHk9W10pfWZ1bmN0aW9uIGModCxlKXtyZXR1cm4gZX1mdW5jdGlvbiBzKHQsZSl7Zm9yKHZhciBuIGluIHQpZVtuXT10W25dO3JldHVybiBlfXQoNik7dmFyIHU9dCgiZWUiKSxmPXUuZ2V0KCJ4aHIiKSxkPXQoIndyYXAtZnVuY3Rpb24iKShmKSxwPU5SRVVNLm8sbD1wLlhIUixoPXAuTU8sbT1wLlBSLHY9cC5TSSx3PSJyZWFkeXN0YXRlY2hhbmdlIixnPVsib25sb2FkIiwib25lcnJvciIsIm9uYWJvcnQiLCJvbmxvYWRzdGFydCIsIm9ubG9hZGVuZCIsIm9ucHJvZ3Jlc3MiLCJvbnRpbWVvdXQiXSx5PVtdO2UuZXhwb3J0cz1mO3ZhciB4PXdpbmRvdy5YTUxIdHRwUmVxdWVzdD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgbCh0KTt0cnl7Zi5lbWl0KCJuZXcteGhyIixbZV0sZSksZS5hZGRFdmVudExpc3RlbmVyKHcsbywhMSl9Y2F0Y2gobil7dHJ5e2YuZW1pdCgiaW50ZXJuYWwtZXJyb3IiLFtuXSl9Y2F0Y2gocil7fX1yZXR1cm4gZX07aWYocyhsLHgpLHgucHJvdG90eXBlPWwucHJvdG90eXBlLGQuaW5QbGFjZSh4LnByb3RvdHlwZSxbIm9wZW4iLCJzZW5kIl0sIi14aHItIixjKSxmLm9uKCJzZW5kLXhoci1zdGFydCIsZnVuY3Rpb24odCxlKXtyKHQsZSksaShlKX0pLGYub24oIm9wZW4teGhyLXN0YXJ0IixyKSxoKXt2YXIgYj1tJiZtLnJlc29sdmUoKTtpZighdiYmIW0pe3ZhciBFPTEsUj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShFKTtuZXcgaChhKS5vYnNlcnZlKFIse2NoYXJhY3RlckRhdGE6ITB9KX19ZWxzZSB1Lm9uKCJmbi1lbmQiLGZ1bmN0aW9uKHQpe3RbMF0mJnRbMF0udHlwZT09PXd8fGEoKX0pfSx7fV0sMTU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2lmKCFjKHQpKXJldHVybiBudWxsO3ZhciBlPXdpbmRvdy5OUkVVTTtpZighZS5sb2FkZXJfY29uZmlnKXJldHVybiBudWxsO3ZhciBuPShlLmxvYWRlcl9jb25maWcuYWNjb3VudElEfHwiIikudG9TdHJpbmcoKXx8bnVsbCxyPShlLmxvYWRlcl9jb25maWcuYWdlbnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwsdT0oZS5sb2FkZXJfY29uZmlnLnRydXN0S2V5fHwiIikudG9TdHJpbmcoKXx8bnVsbDtpZighbnx8IXIpcmV0dXJuIG51bGw7dmFyIGg9bC5nZW5lcmF0ZVNwYW5JZCgpLG09bC5nZW5lcmF0ZVRyYWNlSWQoKSx2PURhdGUubm93KCksdz17c3BhbklkOmgsdHJhY2VJZDptLHRpbWVzdGFtcDp2fTtyZXR1cm4odC5zYW1lT3JpZ2lufHxzKHQpJiZwKCkpJiYody50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXI9byhoLG0pLHcudHJhY2VDb250ZXh0U3RhdGVIZWFkZXI9aShoLHYsbixyLHUpKSwodC5zYW1lT3JpZ2luJiYhZigpfHwhdC5zYW1lT3JpZ2luJiZzKHQpJiZkKCkpJiYody5uZXdyZWxpY0hlYWRlcj1hKGgsbSx2LG4scix1KSksd31mdW5jdGlvbiBvKHQsZSl7cmV0dXJuIjAwLSIrZSsiLSIrdCsiLTAxIn1mdW5jdGlvbiBpKHQsZSxuLHIsbyl7dmFyIGk9MCxhPSIiLGM9MSxzPSIiLHU9IiI7cmV0dXJuIG8rIkBucj0iK2krIi0iK2MrIi0iK24rIi0iK3IrIi0iK3QrIi0iK2ErIi0iK3MrIi0iK3UrIi0iK2V9ZnVuY3Rpb24gYSh0LGUsbixyLG8saSl7dmFyIGE9ImJ0b2EiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LmJ0b2E7aWYoIWEpcmV0dXJuIG51bGw7dmFyIGM9e3Y6WzAsMV0sZDp7dHk6IkJyb3dzZXIiLGFjOnIsYXA6byxpZDp0LHRyOmUsdGk6bn19O3JldHVybiBpJiZyIT09aSYmKGMuZC50az1pKSxidG9hKEpTT04uc3RyaW5naWZ5KGMpKX1mdW5jdGlvbiBjKHQpe3JldHVybiB1KCkmJnModCl9ZnVuY3Rpb24gcyh0KXt2YXIgZT0hMSxuPXt9O2lmKCJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYobj1OUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcpLHQuc2FtZU9yaWdpbillPSEwO2Vsc2UgaWYobi5hbGxvd2VkX29yaWdpbnMgaW5zdGFuY2VvZiBBcnJheSlmb3IodmFyIHI9MDtyPG4uYWxsb3dlZF9vcmlnaW5zLmxlbmd0aDtyKyspe3ZhciBvPWgobi5hbGxvd2VkX29yaWdpbnNbcl0pO2lmKHQuaG9zdG5hbWU9PT1vLmhvc3RuYW1lJiZ0LnByb3RvY29sPT09by5wcm90b2NvbCYmdC5wb3J0PT09by5wb3J0KXtlPSEwO2JyZWFrfX1yZXR1cm4gZX1mdW5jdGlvbiB1KCl7cmV0dXJuImluaXQiaW4gTlJFVU0mJiJkaXN0cmlidXRlZF90cmFjaW5nImluIE5SRVVNLmluaXQmJiEhTlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nLmVuYWJsZWR9ZnVuY3Rpb24gZigpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5leGNsdWRlX25ld3JlbGljX2hlYWRlcn1mdW5jdGlvbiBkKCl7cmV0dXJuImluaXQiaW4gTlJFVU0mJiJkaXN0cmlidXRlZF90cmFjaW5nImluIE5SRVVNLmluaXQmJk5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV9uZXdyZWxpY19oZWFkZXIhPT0hMX1mdW5jdGlvbiBwKCl7cmV0dXJuImluaXQiaW4gTlJFVU0mJiJkaXN0cmlidXRlZF90cmFjaW5nImluIE5SRVVNLmluaXQmJiEhTlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nLmNvcnNfdXNlX3RyYWNlY29udGV4dF9oZWFkZXJzfXZhciBsPXQoMjUpLGg9dCgxNyk7ZS5leHBvcnRzPXtnZW5lcmF0ZVRyYWNlUGF5bG9hZDpyLHNob3VsZEdlbmVyYXRlVHJhY2U6Y319LHt9XSwxNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dGhpcy5wYXJhbXMsbj10aGlzLm1ldHJpY3M7aWYoIXRoaXMuZW5kZWQpe3RoaXMuZW5kZWQ9ITA7Zm9yKHZhciByPTA7cjxwO3IrKyl0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZFtyXSx0aGlzLmxpc3RlbmVyLCExKTtlLmFib3J0ZWR8fChuLmR1cmF0aW9uPWEubm93KCktdGhpcy5zdGFydFRpbWUsdGhpcy5sb2FkQ2FwdHVyZUNhbGxlZHx8NCE9PXQucmVhZHlTdGF0ZT9udWxsPT1lLnN0YXR1cyYmKGUuc3RhdHVzPTApOmkodGhpcyx0KSxuLmNiVGltZT10aGlzLmNiVGltZSxmLmVtaXQoInhoci1kb25lIixbdF0sdCksYygieGhyIixbZSxuLHRoaXMuc3RhcnRUaW1lXSkpfX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49cyhlKSxyPXQucGFyYW1zO3IuaG9zdD1uLmhvc3RuYW1lKyI6IituLnBvcnQsci5wYXRobmFtZT1uLnBhdGhuYW1lLHQucGFyc2VkT3JpZ2luPXMoZSksdC5zYW1lT3JpZ2luPXQucGFyc2VkT3JpZ2luLnNhbWVPcmlnaW59ZnVuY3Rpb24gaSh0LGUpe3QucGFyYW1zLnN0YXR1cz1lLnN0YXR1czt2YXIgbj12KGUsdC5sYXN0U2l6ZSk7aWYobiYmKHQubWV0cmljcy5yeFNpemU9biksdC5zYW1lT3JpZ2luKXt2YXIgcj1lLmdldFJlc3BvbnNlSGVhZGVyKCJYLU5ld1JlbGljLUFwcC1EYXRhIik7ciYmKHQucGFyYW1zLmNhdD1yLnNwbGl0KCIsICIpLnBvcCgpKX10LmxvYWRDYXB0dXJlQ2FsbGVkPSEwfXZhciBhPXQoImxvYWRlciIpO2lmKGEueGhyV3JhcHBhYmxlKXt2YXIgYz10KCJoYW5kbGUiKSxzPXQoMTcpLHU9dCgxNSkuZ2VuZXJhdGVUcmFjZVBheWxvYWQsZj10KCJlZSIpLGQ9WyJsb2FkIiwiZXJyb3IiLCJhYm9ydCIsInRpbWVvdXQiXSxwPWQubGVuZ3RoLGw9dCgiaWQiKSxoPXQoMjEpLG09dCgyMCksdj10KDE4KSx3PXdpbmRvdy5YTUxIdHRwUmVxdWVzdDthLmZlYXR1cmVzLnhocj0hMCx0KDE0KSx0KDcpLGYub24oIm5ldy14aHIiLGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7ZS50b3RhbENicz0wLGUuY2FsbGVkPTAsZS5jYlRpbWU9MCxlLmVuZD1yLGUuZW5kZWQ9ITEsZS54aHJHdWlkcz17fSxlLmxhc3RTaXplPW51bGwsZS5sb2FkQ2FwdHVyZUNhbGxlZD0hMSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKG4pe2koZSx0KX0sITEpLGgmJihoPjM0fHxoPDEwKXx8d2luZG93Lm9wZXJhfHx0LmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixmdW5jdGlvbih0KXtlLmxhc3RTaXplPXQubG9hZGVkfSwhMSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsZnVuY3Rpb24odCl7dGhpcy5wYXJhbXM9e21ldGhvZDp0WzBdfSxvKHRoaXMsdFsxXSksdGhpcy5tZXRyaWNzPXt9fSksZi5vbigib3Blbi14aHItZW5kIixmdW5jdGlvbih0LGUpeyJsb2FkZXJfY29uZmlnImluIE5SRVVNJiYieHBpZCJpbiBOUkVVTS5sb2FkZXJfY29uZmlnJiZ0aGlzLnNhbWVPcmlnaW4mJmUuc2V0UmVxdWVzdEhlYWRlcigiWC1OZXdSZWxpYy1JRCIsTlJFVU0ubG9hZGVyX2NvbmZpZy54cGlkKTt2YXIgbj11KHRoaXMucGFyc2VkT3JpZ2luKTtpZihuKXt2YXIgcj0hMTtuLm5ld3JlbGljSGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJuZXdyZWxpYyIsbi5uZXdyZWxpY0hlYWRlcikscj0hMCksbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXImJihlLnNldFJlcXVlc3RIZWFkZXIoInRyYWNlcGFyZW50IixuLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciksbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlciYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXN0YXRlIixuLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxyPSEwKSxyJiYodGhpcy5kdD1uKX19KSxmLm9uKCJzZW5kLXhoci1zdGFydCIsZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLm1ldHJpY3Mscj10WzBdLG89dGhpcztpZihuJiZyKXt2YXIgaT1tKHIpO2kmJihuLnR4U2l6ZT1pKX10aGlzLnN0YXJ0VGltZT1hLm5vdygpLHRoaXMubGlzdGVuZXI9ZnVuY3Rpb24odCl7dHJ5eyJhYm9ydCIhPT10LnR5cGV8fG8ubG9hZENhcHR1cmVDYWxsZWR8fChvLnBhcmFtcy5hYm9ydGVkPSEwKSwoImxvYWQiIT09dC50eXBlfHxvLmNhbGxlZD09PW8udG90YWxDYnMmJihvLm9ubG9hZENhbGxlZHx8ImZ1bmN0aW9uIiE9dHlwZW9mIGUub25sb2FkKSkmJm8uZW5kKGUpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319fTtmb3IodmFyIGM9MDtjPHA7YysrKWUuYWRkRXZlbnRMaXN0ZW5lcihkW2NdLHRoaXMubGlzdGVuZXIsITEpfSksZi5vbigieGhyLWNiLXRpbWUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmNiVGltZSs9dCxlP3RoaXMub25sb2FkQ2FsbGVkPSEwOnRoaXMuY2FsbGVkKz0xLHRoaXMuY2FsbGVkIT09dGhpcy50b3RhbENic3x8IXRoaXMub25sb2FkQ2FsbGVkJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5vbmxvYWR8fHRoaXMuZW5kKG4pfSksZi5vbigieGhyLWxvYWQtYWRkZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmIXRoaXMueGhyR3VpZHNbbl0mJih0aGlzLnhockd1aWRzW25dPSEwLHRoaXMudG90YWxDYnMrPTEpfSksZi5vbigieGhyLWxvYWQtcmVtb3ZlZCIsZnVuY3Rpb24odCxlKXt2YXIgbj0iIitsKHQpKyEhZTt0aGlzLnhockd1aWRzJiZ0aGlzLnhockd1aWRzW25dJiYoZGVsZXRlIHRoaXMueGhyR3VpZHNbbl0sdGhpcy50b3RhbENicy09MSl9KSxmLm9uKCJhZGRFdmVudExpc3RlbmVyLWVuZCIsZnVuY3Rpb24odCxlKXtlIGluc3RhbmNlb2YgdyYmImxvYWQiPT09dFswXSYmZi5lbWl0KCJ4aHItbG9hZC1hZGRlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJyZW1vdmVFdmVudExpc3RlbmVyLWVuZCIsZnVuY3Rpb24odCxlKXtlIGluc3RhbmNlb2YgdyYmImxvYWQiPT09dFswXSYmZi5lbWl0KCJ4aHItbG9hZC1yZW1vdmVkIixbdFsxXSx0WzJdXSxlKX0pLGYub24oImZuLXN0YXJ0IixmdW5jdGlvbih0LGUsbil7ZSBpbnN0YW5jZW9mIHcmJigib25sb2FkIj09PW4mJih0aGlzLm9ubG9hZD0hMCksKCJsb2FkIj09PSh0WzBdJiZ0WzBdLnR5cGUpfHx0aGlzLm9ubG9hZCkmJih0aGlzLnhockNiU3RhcnQ9YS5ub3coKSkpfSksZi5vbigiZm4tZW5kIixmdW5jdGlvbih0LGUpe3RoaXMueGhyQ2JTdGFydCYmZi5lbWl0KCJ4aHItY2ItdGltZSIsW2Eubm93KCktdGhpcy54aHJDYlN0YXJ0LHRoaXMub25sb2FkLGVdLGUpfSksZi5vbigiZmV0Y2gtYmVmb3JlLXN0YXJ0IixmdW5jdGlvbih0KXtmdW5jdGlvbiBlKHQsZSl7dmFyIG49ITE7cmV0dXJuIGUubmV3cmVsaWNIZWFkZXImJih0LnNldCgibmV3cmVsaWMiLGUubmV3cmVsaWNIZWFkZXIpLG49ITApLGUudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYodC5zZXQoInRyYWNlcGFyZW50IixlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciksZS50cmFjZUNvbnRleHRTdGF0ZUhlYWRlciYmdC5zZXQoInRyYWNlc3RhdGUiLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXIpLG49ITApLG59dmFyIG4scj10WzFdfHx7fTsic3RyaW5nIj09dHlwZW9mIHRbMF0/bj10WzBdOnRbMF0mJnRbMF0udXJsP249dFswXS51cmw6d2luZG93LlVSTCYmdFswXSYmdFswXWluc3RhbmNlb2YgVVJMJiYobj10WzBdLmhyZWYpLG4mJih0aGlzLnBhcnNlZE9yaWdpbj1zKG4pLHRoaXMuc2FtZU9yaWdpbj10aGlzLnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2luKTt2YXIgbz11KHRoaXMucGFyc2VkT3JpZ2luKTtpZihvJiYoby5uZXdyZWxpY0hlYWRlcnx8by50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpKWlmKCJzdHJpbmciPT10eXBlb2YgdFswXXx8d2luZG93LlVSTCYmdFswXSYmdFswXWluc3RhbmNlb2YgVVJMKXt2YXIgaT17fTtmb3IodmFyIGEgaW4gcilpW2FdPXJbYV07aS5oZWFkZXJzPW5ldyBIZWFkZXJzKHIuaGVhZGVyc3x8e30pLGUoaS5oZWFkZXJzLG8pJiYodGhpcy5kdD1vKSx0Lmxlbmd0aD4xP3RbMV09aTp0LnB1c2goaSl9ZWxzZSB0WzBdJiZ0WzBdLmhlYWRlcnMmJmUodFswXS5oZWFkZXJzLG8pJiYodGhpcy5kdD1vKX0pfX0se31dLDE3OltmdW5jdGlvbih0LGUsbil7dmFyIHI9e307ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKHQgaW4gcilyZXR1cm4gclt0XTt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksbj13aW5kb3cubG9jYXRpb24sbz17fTtlLmhyZWY9dCxvLnBvcnQ9ZS5wb3J0O3ZhciBpPWUuaHJlZi5zcGxpdCgiOi8vIik7IW8ucG9ydCYmaVsxXSYmKG8ucG9ydD1pWzFdLnNwbGl0KCIvIilbMF0uc3BsaXQoIkAiKS5wb3AoKS5zcGxpdCgiOiIpWzFdKSxvLnBvcnQmJiIwIiE9PW8ucG9ydHx8KG8ucG9ydD0iaHR0cHMiPT09aVswXT8iNDQzIjoiODAiKSxvLmhvc3RuYW1lPWUuaG9zdG5hbWV8fG4uaG9zdG5hbWUsby5wYXRobmFtZT1lLnBhdGhuYW1lLG8ucHJvdG9jb2w9aVswXSwiLyIhPT1vLnBhdGhuYW1lLmNoYXJBdCgwKSYmKG8ucGF0aG5hbWU9Ii8iK28ucGF0aG5hbWUpO3ZhciBhPSFlLnByb3RvY29sfHwiOiI9PT1lLnByb3RvY29sfHxlLnByb3RvY29sPT09bi5wcm90b2NvbCxjPWUuaG9zdG5hbWU9PT1kb2N1bWVudC5kb21haW4mJmUucG9ydD09PW4ucG9ydDtyZXR1cm4gby5zYW1lT3JpZ2luPWEmJighZS5ob3N0bmFtZXx8YyksIi8iPT09by5wYXRobmFtZSYmKHJbdF09byksb319LHt9XSwxODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj10LnJlc3BvbnNlVHlwZTtyZXR1cm4ianNvbiI9PT1uJiZudWxsIT09ZT9lOiJhcnJheWJ1ZmZlciI9PT1ufHwiYmxvYiI9PT1ufHwianNvbiI9PT1uP28odC5yZXNwb25zZSk6InRleHQiPT09bnx8IiI9PT1ufHx2b2lkIDA9PT1uP28odC5yZXNwb25zZVRleHQpOnZvaWQgMH12YXIgbz10KDIwKTtlLmV4cG9ydHM9cn0se31dLDE5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBvKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gaSh0LFt1Lm5vdygpXS5jb25jYXQoYyhhcmd1bWVudHMpKSxlP251bGw6dGhpcyxuKSxlP3ZvaWQgMDp0aGlzfX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjgpLGM9dCgyOSkscz10KCJlZSIpLmdldCgidHJhY2VyIiksdT10KCJsb2FkZXIiKSxmPU5SRVVNOyJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93Lm5ld3JlbGljJiYobmV3cmVsaWM9Zik7dmFyIGQ9WyJzZXRQYWdlVmlld05hbWUiLCJzZXRDdXN0b21BdHRyaWJ1dGUiLCJzZXRFcnJvckhhbmRsZXIiLCJmaW5pc2hlZCIsImFkZFRvVHJhY2UiLCJpbmxpbmVIaXQiLCJhZGRSZWxlYXNlIl0scD0iYXBpLSIsbD1wKyJpeG4tIjthKGQsZnVuY3Rpb24odCxlKXtmW2VdPW8ocCtlLCEwLCJhcGkiKX0pLGYuYWRkUGFnZUFjdGlvbj1vKHArImFkZFBhZ2VBY3Rpb24iLCEwKSxmLnNldEN1cnJlbnRSb3V0ZU5hbWU9byhwKyJyb3V0ZU5hbWUiLCEwKSxlLmV4cG9ydHM9bmV3cmVsaWMsZi5pbnRlcmFjdGlvbj1mdW5jdGlvbigpe3JldHVybihuZXcgcikuZ2V0KCl9O3ZhciBoPXIucHJvdG90eXBlPXtjcmVhdGVUcmFjZXI6ZnVuY3Rpb24odCxlKXt2YXIgbj17fSxyPXRoaXMsbz0iZnVuY3Rpb24iPT10eXBlb2YgZTtyZXR1cm4gaShsKyJ0cmFjZXIiLFt1Lm5vdygpLHQsbl0sciksZnVuY3Rpb24oKXtpZihzLmVtaXQoKG8/IiI6Im5vLSIpKyJmbi1zdGFydCIsW3Uubm93KCkscixvXSxuKSxvKXRyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9Y2F0Y2godCl7dGhyb3cgcy5lbWl0KCJmbi1lcnIiLFthcmd1bWVudHMsdGhpcyx0XSxuKSx0fWZpbmFsbHl7cy5lbWl0KCJmbi1lbmQiLFt1Lm5vdygpXSxuKX19fX07YSgiYWN0aW9uVGV4dCxzZXROYW1lLHNldEF0dHJpYnV0ZSxzYXZlLGlnbm9yZSxvbkVuZCxnZXRDb250ZXh0LGVuZCxnZXQiLnNwbGl0KCIsIiksZnVuY3Rpb24odCxlKXtoW2VdPW8obCtlKX0pLG5ld3JlbGljLm5vdGljZUVycm9yPWZ1bmN0aW9uKHQsZSl7InN0cmluZyI9PXR5cGVvZiB0JiYodD1uZXcgRXJyb3IodCkpLGkoImVyciIsW3QsdS5ub3coKSwhMSxlXSl9fSx7fV0sMjA6W2Z1bmN0aW9uKHQsZSxuKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0JiZ0Lmxlbmd0aClyZXR1cm4gdC5sZW5ndGg7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZ0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJnQuYnl0ZUxlbmd0aClyZXR1cm4gdC5ieXRlTGVuZ3RoO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQmxvYiYmdCBpbnN0YW5jZW9mIEJsb2ImJnQuc2l6ZSlyZXR1cm4gdC5zaXplO2lmKCEoInVuZGVmaW5lZCIhPXR5cGVvZiBGb3JtRGF0YSYmdCBpbnN0YW5jZW9mIEZvcm1EYXRhKSl0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpLmxlbmd0aH1jYXRjaChlKXtyZXR1cm59fX19LHt9XSwyMTpbZnVuY3Rpb24odCxlLG4pe3ZhciByPTAsbz1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9GaXJlZm94W1wvXHNdKFxkK1wuXGQrKS8pO28mJihyPStvWzFdKSxlLmV4cG9ydHM9cn0se31dLDIyOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe3JldHVybiBjLmV4aXN0cyYmcGVyZm9ybWFuY2Uubm93P01hdGgucm91bmQocGVyZm9ybWFuY2Uubm93KCkpOihpPU1hdGgubWF4KChuZXcgRGF0ZSkuZ2V0VGltZSgpLGkpKS1hfWZ1bmN0aW9uIG8oKXtyZXR1cm4gaX12YXIgaT0obmV3IERhdGUpLmdldFRpbWUoKSxhPWksYz10KDMwKTtlLmV4cG9ydHM9cixlLmV4cG9ydHMub2Zmc2V0PWEsZS5leHBvcnRzLmdldExhc3RUaW1lc3RhbXA9b30se31dLDIzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtyZXR1cm4hKCF0fHwhdC5wcm90b2NvbHx8ImZpbGU6Ij09PXQucHJvdG9jb2wpfWUuZXhwb3J0cz1yfSx7fV0sMjQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5mb3JFYWNoKGZ1bmN0aW9uKHQpeyJmaXJzdC1wYWludCI9PT10Lm5hbWU/ZCgidGltaW5nIixbImZwIixNYXRoLmZsb29yKHQuc3RhcnRUaW1lKV0pOiJmaXJzdC1jb250ZW50ZnVsLXBhaW50Ij09PXQubmFtZSYmZCgidGltaW5nIixbImZjcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKX0pfWZ1bmN0aW9uIG8odCxlKXt2YXIgbj10LmdldEVudHJpZXMoKTtuLmxlbmd0aD4wJiZkKCJsY3AiLFtuW24ubGVuZ3RoLTFdXSl9ZnVuY3Rpb24gaSh0KXt0LmdldEVudHJpZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuaGFkUmVjZW50SW5wdXR8fGQoImNscyIsW3RdKX0pfWZ1bmN0aW9uIGEodCl7aWYodCBpbnN0YW5jZW9mIGgmJiF2KXt2YXIgZT1NYXRoLnJvdW5kKHQudGltZVN0YW1wKSxuPXt0eXBlOnQudHlwZX07ZTw9cC5ub3coKT9uLmZpZD1wLm5vdygpLWU6ZT5wLm9mZnNldCYmZTw9RGF0ZS5ub3coKT8oZS09cC5vZmZzZXQsbi5maWQ9cC5ub3coKS1lKTplPXAubm93KCksdj0hMCxkKCJ0aW1pbmciLFsiZmkiLGUsbl0pfX1mdW5jdGlvbiBjKHQpe2QoInBhZ2VIaWRlIixbcC5ub3coKSx0XSl9aWYoISgiaW5pdCJpbiBOUkVVTSYmInBhZ2Vfdmlld190aW1pbmciaW4gTlJFVU0uaW5pdCYmImVuYWJsZWQiaW4gTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nJiZOUkVVTS5pbml0LnBhZ2Vfdmlld190aW1pbmcuZW5hYmxlZD09PSExKSl7dmFyIHMsdSxmLGQ9dCgiaGFuZGxlIikscD10KCJsb2FkZXIiKSxsPXQoMjcpLGg9TlJFVU0uby5FVjtpZigiUGVyZm9ybWFuY2VPYnNlcnZlciJpbiB3aW5kb3cmJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuUGVyZm9ybWFuY2VPYnNlcnZlcil7cz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihyKTt0cnl7cy5vYnNlcnZlKHtlbnRyeVR5cGVzOlsicGFpbnQiXX0pfWNhdGNoKG0pe311PW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKG8pO3RyeXt1Lm9ic2VydmUoe2VudHJ5VHlwZXM6WyJsYXJnZXN0LWNvbnRlbnRmdWwtcGFpbnQiXX0pfWNhdGNoKG0pe31mPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGkpO3RyeXtmLm9ic2VydmUoe3R5cGU6ImxheW91dC1zaGlmdCIsYnVmZmVyZWQ6ITB9KX1jYXRjaChtKXt9fWlmKCJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50KXt2YXIgdj0hMSx3PVsiY2xpY2siLCJrZXlkb3duIiwibW91c2Vkb3duIiwicG9pbnRlcmRvd24iLCJ0b3VjaHN0YXJ0Il07dy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIodCxhLCExKX0pfWwoYyl9fSx7fV0sMjU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7ZnVuY3Rpb24gdCgpe3JldHVybiBlPzE1JmVbbisrXToxNipNYXRoLnJhbmRvbSgpfDB9dmFyIGU9bnVsbCxuPTAscj13aW5kb3cuY3J5cHRvfHx3aW5kb3cubXNDcnlwdG87ciYmci5nZXRSYW5kb21WYWx1ZXMmJihlPXIuZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KDMxKSkpO2Zvcih2YXIgbyxpPSJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLGE9IiIsYz0wO2M8aS5sZW5ndGg7YysrKW89aVtjXSwieCI9PT1vP2ErPXQoKS50b1N0cmluZygxNik6InkiPT09bz8obz0zJnQoKXw4LGErPW8udG9TdHJpbmcoMTYpKTphKz1vO3JldHVybiBhfWZ1bmN0aW9uIG8oKXtyZXR1cm4gYSgxNil9ZnVuY3Rpb24gaSgpe3JldHVybiBhKDMyKX1mdW5jdGlvbiBhKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbj8xNSZuW3IrK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBuPW51bGwscj0wLG89d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO28mJm8uZ2V0UmFuZG9tVmFsdWVzJiZVaW50OEFycmF5JiYobj1vLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIGk9W10sYT0wO2E8dDthKyspaS5wdXNoKGUoKS50b1N0cmluZygxNikpO3JldHVybiBpLmpvaW4oIiIpfWUuZXhwb3J0cz17Z2VuZXJhdGVVdWlkOnIsZ2VuZXJhdGVTcGFuSWQ6byxnZW5lcmF0ZVRyYWNlSWQ6aX19LHt9XSwyNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXtpZighbylyZXR1cm4hMTtpZih0IT09bylyZXR1cm4hMTtpZighZSlyZXR1cm4hMDtpZighaSlyZXR1cm4hMTtmb3IodmFyIG49aS5zcGxpdCgiLiIpLHI9ZS5zcGxpdCgiLiIpLGE9MDthPHIubGVuZ3RoO2ErKylpZihyW2FdIT09blthXSlyZXR1cm4hMTtyZXR1cm4hMH12YXIgbz1udWxsLGk9bnVsbCxhPS9WZXJzaW9uXC8oXFMrKVxzK1NhZmFyaS87aWYobmF2aWdhdG9yLnVzZXJBZ2VudCl7dmFyIGM9bmF2aWdhdG9yLnVzZXJBZ2VudCxzPWMubWF0Y2goYSk7cyYmYy5pbmRleE9mKCJDaHJvbWUiKT09PS0xJiZjLmluZGV4T2YoIkNocm9taXVtIik9PT0tMSYmKG89IlNhZmFyaSIsaT1zWzFdKX1lLmV4cG9ydHM9e2FnZW50Om8sdmVyc2lvbjppLG1hdGNoOnJ9fSx7fV0sMjc6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2Z1bmN0aW9uIGUoKXt0KGEmJmRvY3VtZW50W2FdP2RvY3VtZW50W2FdOmRvY3VtZW50W29dPyJoaWRkZW4iOiJ2aXNpYmxlIil9ImFkZEV2ZW50TGlzdGVuZXIiaW4gZG9jdW1lbnQmJmkmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoaSxlLCExKX1lLmV4cG9ydHM9cjt2YXIgbyxpLGE7InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudC5oaWRkZW4/KG89ImhpZGRlbiIsaT0idmlzaWJpbGl0eWNoYW5nZSIsYT0idmlzaWJpbGl0eVN0YXRlIik6InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudC5tc0hpZGRlbj8obz0ibXNIaWRkZW4iLGk9Im1zdmlzaWJpbGl0eWNoYW5nZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQud2Via2l0SGlkZGVuJiYobz0id2Via2l0SGlkZGVuIixpPSJ3ZWJraXR2aXNpYmlsaXR5Y2hhbmdlIixhPSJ3ZWJraXRWaXNpYmlsaXR5U3RhdGUiKX0se31dLDI4OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPVtdLHI9IiIsaT0wO2ZvcihyIGluIHQpby5jYWxsKHQscikmJihuW2ldPWUocix0W3JdKSxpKz0xKTtyZXR1cm4gbn12YXIgbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2UuZXhwb3J0cz1yfSx7fV0sMjk6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuKXtlfHwoZT0wKSwidW5kZWZpbmVkIj09dHlwZW9mIG4mJihuPXQ/dC5sZW5ndGg6MCk7Zm9yKHZhciByPS0xLG89bi1lfHwwLGk9QXJyYXkobzwwPzA6byk7KytyPG87KWlbcl09dFtlK3JdO3JldHVybiBpfWUuZXhwb3J0cz1yfSx7fV0sMzA6W2Z1bmN0aW9uKHQsZSxuKXtlLmV4cG9ydHM9e2V4aXN0czoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydH19LHt9XSxlZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0KXtmdW5jdGlvbiBlKHQpe3JldHVybiB0JiZ0IGluc3RhbmNlb2Ygcj90OnQ/dSh0LHMsYSk6YSgpfWZ1bmN0aW9uIG4obixyLG8saSxhKXtpZihhIT09ITEmJihhPSEwKSwhbC5hYm9ydGVkfHxpKXt0JiZhJiZ0KG4scixvKTtmb3IodmFyIGM9ZShvKSxzPW0obiksdT1zLmxlbmd0aCxmPTA7Zjx1O2YrKylzW2ZdLmFwcGx5KGMscik7dmFyIHA9ZFt5W25dXTtyZXR1cm4gcCYmcC5wdXNoKFt4LG4scixjXSksY319ZnVuY3Rpb24gaSh0LGUpe2dbdF09bSh0KS5jb25jYXQoZSl9ZnVuY3Rpb24gaCh0LGUpe3ZhciBuPWdbdF07aWYobilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdPT09ZSYmbi5zcGxpY2UociwxKX1mdW5jdGlvbiBtKHQpe3JldHVybiBnW3RdfHxbXX1mdW5jdGlvbiB2KHQpe3JldHVybiBwW3RdPXBbdF18fG8obil9ZnVuY3Rpb24gdyh0LGUpe2YodCxmdW5jdGlvbih0LG4pe2U9ZXx8ImZlYXR1cmUiLHlbbl09ZSxlIGluIGR8fChkW2VdPVtdKX0pfXZhciBnPXt9LHk9e30seD17b246aSxhZGRFdmVudExpc3RlbmVyOmkscmVtb3ZlRXZlbnRMaXN0ZW5lcjpoLGVtaXQ6bixnZXQ6dixsaXN0ZW5lcnM6bSxjb250ZXh0OmUsYnVmZmVyOncsYWJvcnQ6YyxhYm9ydGVkOiExfTtyZXR1cm4geH1mdW5jdGlvbiBpKHQpe3JldHVybiB1KHQscyxhKX1mdW5jdGlvbiBhKCl7cmV0dXJuIG5ldyByfWZ1bmN0aW9uIGMoKXsoZC5hcGl8fGQuZmVhdHVyZSkmJihsLmFib3J0ZWQ9ITAsZD1sLmJhY2tsb2c9e30pfXZhciBzPSJuckBjb250ZXh0Iix1PXQoImdvcyIpLGY9dCgyOCksZD17fSxwPXt9LGw9ZS5leHBvcnRzPW8oKTtlLmV4cG9ydHMuZ2V0T3JTZXRDb250ZXh0PWksbC5iYWNrbG9nPWR9LHt9XSxnb3M6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuKXtpZihvLmNhbGwodCxlKSlyZXR1cm4gdFtlXTt2YXIgcj1uKCk7aWYoT2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3Qua2V5cyl0cnl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOnIsd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMX0pLHJ9Y2F0Y2goaSl7fXJldHVybiB0W2VdPXIscn12YXIgbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2UuZXhwb3J0cz1yfSx7fV0saGFuZGxlOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbixyKXtvLmJ1ZmZlcihbdF0sciksby5lbWl0KHQsZSxuKX12YXIgbz10KCJlZSIpLmdldCgiaGFuZGxlIik7ZS5leHBvcnRzPXIsci5lZT1vfSx7fV0saWQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiF0fHwib2JqZWN0IiE9PWUmJiJmdW5jdGlvbiIhPT1lPy0xOnQ9PT13aW5kb3c/MDphKHQsaSxmdW5jdGlvbigpe3JldHVybiBvKyt9KX12YXIgbz0xLGk9Im5yQGlkIixhPXQoImdvcyIpO2UuZXhwb3J0cz1yfSx7fV0sbG9hZGVyOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2lmKCFFKyspe3ZhciB0PWIuaW5mbz1OUkVVTS5pbmZvLGU9bC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07aWYoc2V0VGltZW91dCh1LmFib3J0LDNlNCksISh0JiZ0LmxpY2Vuc2VLZXkmJnQuYXBwbGljYXRpb25JRCYmZSkpcmV0dXJuIHUuYWJvcnQoKTtzKHksZnVuY3Rpb24oZSxuKXt0W2VdfHwodFtlXT1uKX0pO3ZhciBuPWEoKTtjKCJtYXJrIixbIm9ubG9hZCIsbitiLm9mZnNldF0sbnVsbCwiYXBpIiksYygidGltaW5nIixbImxvYWQiLG5dKTt2YXIgcj1sLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Iuc3JjPSJodHRwczovLyIrdC5hZ2VudCxlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHIsZSl9fWZ1bmN0aW9uIG8oKXsiY29tcGxldGUiPT09bC5yZWFkeVN0YXRlJiZpKCl9ZnVuY3Rpb24gaSgpe2MoIm1hcmsiLFsiZG9tQ29udGVudCIsYSgpK2Iub2Zmc2V0XSxudWxsLCJhcGkiKX12YXIgYT10KDIyKSxjPXQoImhhbmRsZSIpLHM9dCgyOCksdT10KCJlZSIpLGY9dCgyNiksZD10KDIzKSxwPXdpbmRvdyxsPXAuZG9jdW1lbnQsaD0iYWRkRXZlbnRMaXN0ZW5lciIsbT0iYXR0YWNoRXZlbnQiLHY9cC5YTUxIdHRwUmVxdWVzdCx3PXYmJnYucHJvdG90eXBlO2lmKGQocC5sb2NhdGlvbikpe05SRVVNLm89e1NUOnNldFRpbWVvdXQsU0k6cC5zZXRJbW1lZGlhdGUsQ1Q6Y2xlYXJUaW1lb3V0LFhIUjp2LFJFUTpwLlJlcXVlc3QsRVY6cC5FdmVudCxQUjpwLlByb21pc2UsTU86cC5NdXRhdGlvbk9ic2VydmVyfTt2YXIgZz0iIitsb2NhdGlvbix5PXtiZWFjb246ImJhbS5uci1kYXRhLm5ldCIsZXJyb3JCZWFjb246ImJhbS5uci1kYXRhLm5ldCIsYWdlbnQ6ImpzLWFnZW50Lm5ld3JlbGljLmNvbS9uci1zcGEtMTIwOC5taW4uanMifSx4PXYmJncmJndbaF0mJiEvQ3JpT1MvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksYj1lLmV4cG9ydHM9e29mZnNldDphLmdldExhc3RUaW1lc3RhbXAoKSxub3c6YSxvcmlnaW46ZyxmZWF0dXJlczp7fSx4aHJXcmFwcGFibGU6eCx1c2VyQWdlbnQ6Zn07dCgxOSksdCgyNCksbFtoXT8obFtoXSgiRE9NQ29udGVudExvYWRlZCIsaSwhMSkscFtoXSgibG9hZCIsciwhMSkpOihsW21dKCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLHBbbV0oIm9ubG9hZCIscikpLGMoIm1hcmsiLFsiZmlyc3RieXRlIixhLmdldExhc3RUaW1lc3RhbXAoKV0sbnVsbCwiYXBpIik7dmFyIEU9MH19LHt9XSwid3JhcC1mdW5jdGlvbiI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZnVuY3Rpb24gbihlLG4scixzLHUpe2Z1bmN0aW9uIG5yV3JhcHBlcigpe3ZhciBpLGEsZixwO3RyeXthPXRoaXMsaT1kKGFyZ3VtZW50cyksZj0iZnVuY3Rpb24iPT10eXBlb2Ygcj9yKGksYSk6cnx8e319Y2F0Y2gobCl7byhbbCwiIixbaSxhLHNdLGZdLHQpfWMobisic3RhcnQiLFtpLGEsc10sZix1KTt0cnl7cmV0dXJuIHA9ZS5hcHBseShhLGkpfWNhdGNoKGgpe3Rocm93IGMobisiZXJyIixbaSxhLGhdLGYsdSksaH1maW5hbGx5e2MobisiZW5kIixbaSxhLHBdLGYsdSl9fXJldHVybiBhKGUpP2U6KG58fChuPSIiKSxucldyYXBwZXJbcF09ZSxpKGUsbnJXcmFwcGVyLHQpLG5yV3JhcHBlcil9ZnVuY3Rpb24gcih0LGUscixvLGkpe3J8fChyPSIiKTt2YXIgYyxzLHUsZj0iLSI9PT1yLmNoYXJBdCgwKTtmb3IodT0wO3U8ZS5sZW5ndGg7dSsrKXM9ZVt1XSxjPXRbc10sYShjKXx8KHRbc109bihjLGY/cytyOnIsbyxzLGkpKX1mdW5jdGlvbiBjKG4scixpLGEpe2lmKCFofHxlKXt2YXIgYz1oO2g9ITA7dHJ5e3QuZW1pdChuLHIsaSxlLGEpfWNhdGNoKHMpe28oW3MsbixyLGldLHQpfWg9Y319cmV0dXJuIHR8fCh0PWYpLG4uaW5QbGFjZT1yLG4uZmxhZz1wLG59ZnVuY3Rpb24gbyh0LGUpe2V8fChlPWYpO3RyeXtlLmVtaXQoImludGVybmFsLWVycm9yIix0KX1jYXRjaChuKXt9fWZ1bmN0aW9uIGkodCxlLG4pe2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3ZhciByPU9iamVjdC5rZXlzKHQpO3JldHVybiByLmZvckVhY2goZnVuY3Rpb24obil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19LHNldDpmdW5jdGlvbihlKXtyZXR1cm4gdFtuXT1lLGV9fSl9KSxlfWNhdGNoKGkpe28oW2ldLG4pfWZvcih2YXIgYSBpbiB0KWwuY2FsbCh0LGEpJiYoZVthXT10W2FdKTtyZXR1cm4gZX1mdW5jdGlvbiBhKHQpe3JldHVybiEodCYmdCBpbnN0YW5jZW9mIEZ1bmN0aW9uJiZ0LmFwcGx5JiYhdFtwXSl9ZnVuY3Rpb24gYyh0LGUpe3ZhciBuPWUodCk7cmV0dXJuIG5bcF09dCxpKHQsbixmKSxufWZ1bmN0aW9uIHModCxlLG4pe3ZhciByPXRbZV07dFtlXT1jKHIsbil9ZnVuY3Rpb24gdSgpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLGU9bmV3IEFycmF5KHQpLG49MDtuPHQ7KytuKWVbbl09YXJndW1lbnRzW25dO3JldHVybiBlfXZhciBmPXQoImVlIiksZD10KDI5KSxwPSJuckBvcmlnaW5hbCIsbD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGg9ITE7ZS5leHBvcnRzPXIsZS5leHBvcnRzLndyYXBGdW5jdGlvbj1jLGUuZXhwb3J0cy53cmFwSW5QbGFjZT1zLGUuZXhwb3J0cy5hcmdzVG9BcnJheT11fSx7fV19LHt9LFsibG9hZGVyIiwyLDE2LDUsMyw0XSk7CjtOUkVVTS5sb2FkZXJfY29uZmlnPXthY2NvdW50SUQ6IjM5Mjg0Iix0cnVzdEtleToiMzkyODQiLGFnZW50SUQ6Ijc0NDc0NjgiLGxpY2Vuc2VLZXk6IjY4OWQ1YjQ1NjIiLGFwcGxpY2F0aW9uSUQ6IjIwMTEyMjQifQo7TlJFVU0uaW5mbz17YmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsZXJyb3JCZWFjb246ImJhbS1jZWxsLm5yLWRhdGEubmV0IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0IixzYToxfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogIGlmKHdpbmRvdy5uZXdyZWxpYyl7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgnY29udHJvbGxlcl92aWV3JywgJ1ZpbWVvXENvbnRyb2xsZXJcQ2xpcENvbnRyb2xsZXJfbWFpbicpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ3VzZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgnYWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ3RlYW1Pd25lcklkJywgJzAnKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJBY2NvdW50VHlwZScsICdVTktOT1dOJyk7fTsKPC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvZ2xvYmFsL2ljb25fZm9udHNfNjhlZmYzOTQ3Mjk4MDYzMGM1YTA4MzJhMmQ0Mzk2YzYubWluLmNzcyI+CgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2NsaXBfYmV0YV9jb21iaW5lZF9mOTI2MTYxZGE3ZDNkYzk0MjU2YTgxMmU4YjYxNTcxYy5taW4uY3NzIj4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC90b3BuYXZfY2FydF9idXR0b25fZmRkYTViZWYxYTExNmYwODc4ZDhiMjFmZGExZDU4MTUubWluLmNzcyI+CgoKCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAKICAgICAgICB2YXIgcGxheWVyQXNzZXRVcmxzID0geyJiYXJlYm9uZV9qcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvanNcL2JhcmVib25lLmpzIiwiY2hyb21lbGVzc19qcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvanNcL2Nocm9tZWxlc3MuanMiLCJjaHJvbWVsZXNzX2NzcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvY3NzXC9jaHJvbWVsZXNzLmNzcyIsImNzcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvY3NzXC9wbGF5ZXIuY3NzIiwianMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9wbGF5ZXIuanMiLCJwbGF5ZXJfdXJsIjoicGxheWVyLnZpbWVvLmNvbSJ9OwoKICAgICAgICB2YXIgX2V4dGVuZCA9IGZ1bmN0aW9uKCl7Zm9yKHZhciByPWFyZ3VtZW50c1swXSxuPTEsZT1hcmd1bWVudHMubGVuZ3RoO2U+bjtuKyspe3ZhciB0PWFyZ3VtZW50c1tuXTtmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiYoclthXT10W2FdKX1yZXR1cm4gcn07CgogICAgICAgICAgICB3aW5kb3cgPSBfZXh0ZW5kKHdpbmRvdywgeyJ2aW1lb19lc2kiOnsiY29uZmlnIjp7InJvdXRlIjoiVmltZW9cXENvbnRyb2xsZXJcXENsaXBDb250cm9sbGVyOm1haW4iLCJjb250cm9sbGVyIjoiVmltZW9cXENvbnRyb2xsZXJcXENsaXBDb250cm9sbGVyIiwiYXV0b2NvbXBsZXRlX2VuYWJsZWQiOnRydWUsIm9uc2l0ZV9yZWZlcnJlciI6ZmFsc2V9fSwiYWJsaW5jb2xuX2NvbmZpZyI6W10sInZpbWVvIjp7ImNvbmZpZyI6eyJjYXJ0Ijp7ImNhcnRfY29udGVudCI6eyJzdG9jayI6eyJzdG9yZSI6InN0b2NrIiwidmVyc2lvbiI6MSwicXVhbnRpdGllcyI6W10sIml0ZW1zIjpbXSwiYXR0cmlidXRlcyI6W10sImN1cnJlbmN5IjoiQ0hGIiwiaXRlbXNfc29ydGVkX2J5X2luZGV4IjpbXSwiaXRlbXNfY291bnQiOjB9fX19fX0pOwo8L3NjcmlwdD4KCiAgICAgICAgCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBhYmxpbmNvbG5fY29uZmlnID0gYWJsaW5jb2xuX2NvbmZpZyB8fCB7fTsKICAgICAgICBhYmxpbmNvbG5fY29uZmlnLnRlc3RzID0geyJKUy5XaXphcmQuRGVwcmVjYXRpb24iOnsiaWQiOjEwNzcsIm5hbWUiOiJKUy5XaXphcmQuRGVwcmVjYXRpb24iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvdGVtcGxhdGVzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTI2LCJuYW1lIjoic2hvd193aXphcmQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xNSAxMDowNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDU3LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo1MDB9LHsiaWQiOjUwNTgsIm5hbWUiOiJzaG93X3dpemFyZCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjUwMH1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNlYXJjaC5QcmVjaXNpb24iOnsiaWQiOjEwNzYsIm5hbWUiOiJKUy5TZWFyY2guUHJlY2lzaW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMxMjEsIm5hbWUiOiJwcmVjaXNpb24gc2VhcmNoIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNToyNjowNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDQxLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA0MiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDMsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ0LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA0NSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTI1LCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCA4MCUiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTExIDEyOjIyOjIwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNTIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDUzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX0seyJpZCI6NTA1NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjIiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIzIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU2LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiOCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5CcmVhZGNydW1icy5GaWxlQWN0aW9uc01lbnUiOnsiaWQiOjEwNzIsIm5hbWUiOiJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA5OCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjEgMDY6Mjg6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMTAtMjIgMDU6MDg6MzQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxMiwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMTMsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE0LCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudDIiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTI4LCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwMDAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMjMgMDE6NTA6NTEiLCJwYXVzZWRfb24iOiIyMDIzLTEwLTIzIDAyOjQyOjUwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA2MSwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRjJQLlBpbG90Ijp7ImlkIjoxMDcwLCJuYW1lIjoiSlMuRjJQLlBpbG90IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTYsIm5hbWUiOiIyJSAtIEYyUCBFeHBlcmltZW50IFJvbGxvdXQgLSBKUyIsImJ1Y2tldHMiOjIwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wMyAwNTo0ODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDA4LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAwOSwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTE1LCJuYW1lIjoiKyA4JSAtIEYyUCBFeHBlcmltZW50IFJvbGxvdXQgLSBKUyIsImJ1Y2tldHMiOjgwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wMyAxMToyOTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDMyLCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzMywibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTE5LCJuYW1lIjoiKyA0MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo0MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA0IDE0OjMxOjUxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMzcsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDM4LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMxMjMsIm5hbWUiOiIrIDUwJSAtIEYyUCBFeHBlcmltZW50IFJvbGxvdXQgLSBKUyIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDUgMTk6MTY6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0OCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRnJlZVRyaWFsLkV4Y2x1ZGVSZXN0cmljdGVkQ291bnRyaWVzIjp7ImlkIjoxMDY3LCJuYW1lIjoiSlMuRnJlZVRyaWFsLkV4Y2x1ZGVSZXN0cmljdGVkQ291bnRyaWVzIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwODgsIm5hbWUiOiJSdW4gVGVzdCBhdCAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTE4IDA4OjU5OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ5OTQsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk5NSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA5OSwibmFtZSI6IiogUnVuIFRlc3QgYXQgOTAlIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0yMiAxNDozMzozMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDE1LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMTYsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIjp7ImlkIjoxMDU4LCJuYW1lIjoiSlMuQ2hlY2tvdXQuUGF5UGFsLkRlZmF1bHRGb3JGcmVlVHJpYWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcL3N0b3JlXC8qIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDY2LCJuYW1lIjoiKiAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA4LTIyIDE0OjE0OjQwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ5NjcsIm5hbWUiOiJkZWZhdWx0X3BheXBhbF9mb3JfZnJlZV90cmlhbCIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5NjgsIm5hbWUiOiJkZWZhdWx0X3BheXBhbF9mb3JfZnJlZV90cmlhbCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNjQsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkZSIiwiREUiLCJJVCIsIkdCIl19XX0seyJpZCI6MzA3MSwibmFtZSI6IiogOTAlIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yNCAwOTowMToxMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTc1LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTc2LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19XX0sIkpTLkVkaXRvci5WMi5TdGFmZlJvbGxvdXQiOnsiaWQiOjEwNTUsIm5hbWUiOiJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA1OCwibmFtZSI6ImVkaXRvcl8yX3N0YWZmIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0xNSAxMDo0ODozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyMDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTU2LCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfSx7ImlkIjo0OTU3LCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoyMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDgzLCJuYW1lIjoiKiBlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTAzIDA3OjI1OjM3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ5OTEsIm5hbWUiOiJlZGl0b3JfMiIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjEwMDB9LHsiaWQiOjQ5OTIsIm5hbWUiOiJlZGl0b3JfMiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfV19LCJKUy5MSUhQLkNyZWF0ZVF1aWNrbGlua0NUQVRlc3QiOnsiaWQiOjEwNDYsIm5hbWUiOiJKUy5MSUhQLkNyZWF0ZVF1aWNrbGlua0NUQVRlc3QiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzAyOCwibmFtZSI6IjEwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMCAxMDoxNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowNzo1NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTE0LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDkxNSwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDc4LCJuYW1lIjoiNTAlIHJvbGxvdXQgLSBVcGRhdGUgQ3JlYXRlIG9uZSBjbGljayBDVEEiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA4LTMxIDEyOjI1OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA5LTE4IDEwOjA4OjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ5ODYsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTg3LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTUsIm5hbWUiOiIxMDAlIHJvbGxvdXQgLSBVcGRhdGUgQ3JlYXRlIG9uZSBjbGljayBDVEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0yNyAxMjo1NTo0OCIsInBhcmFtZXRlcnMiOltdLCJzZWdtZW50cyI6W119LHsiaWQiOjMxMDUsIm5hbWUiOiIxMDAlIHJvbGxvdXQgdGFrZSAyIC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTY6MDQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAyMiwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyI6eyJpZCI6MTA0MiwibmFtZSI6IkpTLlNWVi5OZXdUcmltbWVyLkhpZGVUb3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzAxNiwibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xOSAwODozNTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODk3LCJuYW1lIjoiaGlkZV90dmVfdG91cnBvaW50cyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5OZXdUcmltbWVyLlJvbGxvdXQiOnsiaWQiOjEwNDEsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzAxNSwibmFtZSI6Im5ld190cmltbWVyX3JvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xOCAwNzozMzozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODk2LCJuYW1lIjoibmV3X3RyaW1tZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5yZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZXVzZXJzIjp7ImlkIjoxMDQwLCJuYW1lIjoiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTg0LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMDMgMTA6NTA6MTkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDctMTEgMTA6NTQ6NDgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg2NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg2NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwMTEsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZXVzZXJzMSIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjU3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTE3IDA1OjA1OjUyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4ODgsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4ODksIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDE3LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNzozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODk4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0ODk5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0Ijp7ImlkIjoxMDMxLCJuYW1lIjoiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvcmVjb3JkXC9zdGFydC1yZWNvcmRpbmciLCJleHBlcmltZW50cyI6W3siaWQiOjI5NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJidWNrZXRzIjo0MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTE0IDA4OjI2OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTI3IDA4OjQ4OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NDAsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODQxLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5NzYsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQyIiwiYnVja2V0cyI6NjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xOCAwNDoxNDo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODU0LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg1NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTg1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTI3IDA4OjQ5OjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjYsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLlJldk1hbnVhbENhcHRpb25zIjp7ImlkIjoxMDIwLCJuYW1lIjoiSlMuU1ZWLlJldk1hbnVhbENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjkxOSwibmFtZSI6IlJldiBNYW51YWwgQ2FwdGlvbnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xMyAwODo0NjoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc4LCJuYW1lIjoicmV2X21hbnVhbF9jYXB0aW9ucyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCI6eyJpZCI6MTAxNiwibmFtZSI6IkpTLk1vYmlsZS5DbGlwLkJhbm5lckpvaW5QYXRoIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC86Y2xpcElkIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODk2LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIiwiYnVja2V0cyI6MCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTYgMTQ6MzI6NTkiLCJwYXVzZWRfb24iOiIyMDIzLTA1LTE2IDE2OjIyOjA1Iiwic3RvcHBlZF9vbiI6IjIwMjMtMDUtMTYgMTY6Mjk6MzUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc1MywibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDc1NCwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0MiwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFUIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkhVIiwiSVMiLCJJVCIsIkxWIiwiTEkiLCJMVCIsIkxVIiwiTVQiLCJOTCIsIk5PIiwiUEwiLCJQVCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJHQiJdfV19LHsiaWQiOjI5MjcsIm5hbWUiOiJNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE2OjM3OjI2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI0OjUwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3ODcsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3ODgsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDUsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVCIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJTSSIsIkVTIiwiU0UiLCJDSCIsIlRSIiwiR0IiLCJWQSJdfV19LHsiaWQiOjI5MzksIm5hbWUiOiIqIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDI1JSIsImJ1Y2tldHMiOjE1MCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMTE6MzU6MDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDUgMTY6MjU6MTEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwNSwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDgwNiwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0NywidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFMIiwiQVQiLCJCWSIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJHTCIsIklTIiwiSUUiLCJJTSIsIklUIiwiTFYiLCJMSSIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJTSSIsIkVTIiwiU0UiLCJDSCIsIlRSIiwiR0IiLCJWQSJdfV19LHsiaWQiOjI5NDMsIm5hbWUiOiIgTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAwJSIsImJ1Y2tldHMiOjc1MCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMjIgMTM6MTY6MTAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDUgMTY6MjU6MjQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwOSwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDgxMCwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0OCwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFMIiwiQVQiLCJCWSIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJHTCIsIklTIiwiSUUiLCJJTSIsIklUIiwiTFYiLCJMSSIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTY0LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0tIDEwMCAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMDUgMTY6Mjg6NDEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgzOSwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM1MywidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFMIiwiQVQiLCJCWSIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJHTCIsIklTIiwiSUUiLCJJTSIsIklUIiwiTFYiLCJMSSIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJTSSIsIkVTIiwiU0UiLCJDSCIsIlRSIiwiR0IiLCJWQSJdfV19XX0sIkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIjp7ImlkIjoxMDEwLCJuYW1lIjoiSlMuQnVpbGRlci5UZXN0LjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9zdGFnaW5nLXRlc3RcL2FibGluY29sbi1sb2NhbGVzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODc4LCJuYW1lIjoiQnVpbGRlclNlZ21lbnRUZXN0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTMgMTM6MTQ6NDgiLCJwYXVzZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjE2Iiwic3RvcHBlZF9vbiI6IjIwMjMtMDQtMTMgMTQ6MDg6MjYiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjoyODgwLCJuYW1lIjoiQnVpbGRlclNlZ21lbnRUZXN0MiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDE0OjI5OjI5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MzIsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ3MzMsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uT3ZlcmxheVZzSW5saW5lSW50ZWdyYXRpb25zIjp7ImlkIjo5OTUsIm5hbWUiOiJKUy5SZWNvcmRFeHRlbnNpb24uT3ZlcmxheVZzSW5saW5lSW50ZWdyYXRpb25zIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI4MTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIElubGluZSB2cyBPdmVybGF5IEludGVncmF0aW9ucyB0ZXN0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMjcgMDc6NTE6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMjcgMDc6NTk6NDQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY0MSwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2NDIsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjgxOSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA4OjAwOjAzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE1IDA1OjA0OjUyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDMsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NjQ0LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTMsIm5hbWUiOiIqICogUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjA5OjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTcsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njk4LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciI6eyJpZCI6OTkyLCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlBob3RvQXZhdGFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI4MTcsIm5hbWUiOiJQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA4OjM1OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wMi0yNyAwODozNjo1NCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA4OjM3OjI4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MzksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjAsIm5hbWUiOiIqIFBBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMjcgMDk6MDk6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMjcgMDk6MTE6NDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY0NSwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2NDYsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjgyMSwibmFtZSI6IiogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTA2IDA5OjA4OjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTEwIDA0OjEzOjA4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDcsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg1NiwibmFtZSI6IiogKiAqIFBBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMjMgMTg6MTE6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY5OSwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDAsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuVm9kU2FsZXNUYXguRW5hYmxlZCI6eyJpZCI6OTg2LCJuYW1lIjoiSlMuQ2hlY2tvdXQuVm9kU2FsZXNUYXguRW5hYmxlZCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjgwMywibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMDcgMTA6MDg6NTUiLCJwYXVzZWRfb24iOiIyMDIzLTAzLTA3IDE2OjQ1OjM5Iiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMDkgMTI6MTg6MjQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDYyMCwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTE4LCJuYW1lIjoiVk9EIFNhbGVzIFRheCBGZWF0dXJlIEZsYWcgZm9yIFByZWNhbGMgMiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTExIDEyOjQ5OjUwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE5IDA2OjAwOjAxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NzcsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkzNCwibmFtZSI6IkVuYWJsZSBWT0QgVGF4ZXMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xOSAwNzoyMjo1NCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODAyLCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCI6eyJpZCI6OTg1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLkRlc2t0b3BSb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9yZWNvcmRcL2F1dGgtY29tcGxldGUiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDIsIm5hbWUiOiJEZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTIwIDE0OjU3OjE3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTIxIDE0OjAwOjI4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTgsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjE5LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4ODksIm5hbWUiOiJEZXNrdG9wUm9sbG91dF8xMDAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzQ0LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDc0NSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuU21hcnRDcm9wIjp7ImlkIjo5ODIsIm5hbWUiOiJKUy5FZGl0b3IuU21hcnRDcm9wIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzk4LCJuYW1lIjoic21hcnRfY3JvcCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMTYgMDI6MzQ6MzgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDYxMCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9LHsiaWQiOjQ2MTEsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbeyJpZCI6MzI5LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiVVMiXX1dfSx7ImlkIjoyODgyLCJuYW1lIjoiKiBzbWFydF9jcm9wIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xNiAwODozOToxOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNCAwOTo1ODoxOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzM2LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjQwMH0seyJpZCI6NDczNywibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo0MDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTU1LCJuYW1lIjoiKiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA0IDEyOjAzOjUwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MjksIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLk1hcmtldGluZy5QcmljaW5nLk1vZHVsZS4yMDIzLlYxIjp7ImlkIjo5NzgsIm5hbWUiOiJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdCIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE1IDE2OjIwOjI4IiwicGF1c2VkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo0OCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE1IDE3OjAyOjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MDEsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2MDIsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODQyLCJuYW1lIjoiNTBcLzUwIE1hcmtldGluZyBQcmljaW5nIE1vZHVsZSBUZXN0LlYxIiwiYnVja2V0cyI6MTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE1IDE3OjA0OjUxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE2IDE1OjQ5OjMwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NzcsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2NzgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODQ1LCJuYW1lIjoiNTBcLzUwIE1hcmtldGluZyBQcmljaW5nIE1vZHVsZSBUZXN0LlYyIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNyAwODo0NDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNyAxMzoxMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjgzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njg0LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzM1LCJ0eXBlIjoibGFuZ3VhZ2UiLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiZXMiLCJkZS1ERSIsImZyLUZSIiwiamEtSlAiLCJwdC1CUiIsImtvLUtSIl19XX0seyJpZCI6Mjg0NywibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTg6MjQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MjE6MDUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4NSwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNiwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbImVuIl19XX0seyJpZCI6Mjg2MSwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTAgMTM6NTU6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDQtMTAgMTY6MDc6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDcwOCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDcwOSwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiR0IiLCJVUyJdfV19LHsiaWQiOjI4NjgsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMgLSB2MiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTAgMTU6MjM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDQtMTAgMTY6MDc6MzIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDcxOCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDcxOSwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0MCwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiR0IiLCJVUyJdfV19LHsiaWQiOjI4NjksIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMgLSB2MyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA5OjQ4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjE4OjA2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MjAsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MjEsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODc0LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjQiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEyIDE1OjA1OjQwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTI4IDExOjIyOjUxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MjgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MjksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODc2LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjUiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDExOjE3OjQ4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTI4IDExOjIzOjE2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MzAsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MzEsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTkwLCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgSDEtcm9sbCBvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yOCAxMToyNDoxOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODcyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLkRpc2FibGVUVkUiOnsiaWQiOjk3NiwibmFtZSI6IkpTLkVkaXRvci5EaXNhYmxlVFZFIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc3MSwibmFtZSI6ImRpc2FibGVfdHZlIiwiYnVja2V0cyI6MSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTMgMDk6MDE6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU2NCwibmFtZSI6ImRpc2FibGVfdHZlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU2NSwibmFtZSI6ImRpc2FibGVfdHZlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MTAwMDAwMDAwMH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5BZGRUZXh0U2lkZVBhbmVsIjp7ImlkIjo5NzMsIm5hbWUiOiJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc2MiwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImJ1Y2tldHMiOjEsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTExIDEwOjE5OjM0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA0OjEzIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NDgsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTQ5LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzAsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDIwMCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTIgMDM6MDU6MjQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMjYgMDI6MzM6MTkiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU2MiwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc3OSwibmFtZSI6IjQgZGVmYXVsdCB0ZXh0IHNpemUgMTAwMCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMjAgMDY6NDk6NTkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMjYgMDI6MzM6MTQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MywibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NzQsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NCwibmFtZSI6IjQgZGVmYXVsdCB0ZXh0IHNpemUgMTAwMCB2YXJpYW50IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMjYgMDI6MzU6MjciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3NiwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5CdWlsZGVyaW8uQWJUZXN0Ijp7ImlkIjo5NzEsIm5hbWUiOiJKUy5CdWlsZGVyaW8uQWJUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jbXMtYWJ0ZXN0IiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzU5LCJuYW1lIjoiRGF0YSBmbG93IENNUyBBXC9CIHRlc3QiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTA1IDAwOjE0OjQzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NDIsIm5hbWUiOiJzaG93X3BhZ2UiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTQzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5UZW1wbGF0ZXNJbnNwZWN0b3IiOnsiaWQiOjk2NiwibmFtZSI6IkpTLkVkaXRvci5UZW1wbGF0ZXNJbnNwZWN0b3IiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3MjAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMyAwNjozOToxMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMS0wMyAwOTowMzoxNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDk4LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ5OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0wMyAwOTowNzoyMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMS0wOCAwNDoxODoxNyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDU4MCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg3LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzIwMCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTk6NDQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTMgMDI6MTc6NDIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU4MSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1ODIsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl80MDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTEwIDA1OjI5OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjMzIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg0LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfMTAwMCIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMTEgMDM6MzE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTMgMDI6MTc6MjUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU4NSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1ODYsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjgxMywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl9jbG9kZSBvbiB2YXJpYW50ICIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE4OjMwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MzEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIjp7ImlkIjo5NTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5NZW1iZXJzaGlwUGxhbi5EaXNhYmxlQXV0b1JlbmV3UmVkZXNpZ24iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3NldHRpbmdzXC9iaWxsaW5nXC9tZW1iZXJzaGlwX3BsYW4iLCJleHBlcmltZW50cyI6W3siaWQiOjI2OTcsIm5hbWUiOiJTaG93IHJlZGVzaWduZWQgRGlzYWJsZSBhdXRvIHJlbmV3IG1vZGFsIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMSAxNTozNTozNyIsInBhdXNlZF9vbiI6IjIwMjMtMDItMTcgMTM6MTU6MTAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDYwLCJuYW1lIjoiZGlzYWJsZV9hdXRvX3JlbmV3X3JlZGVzaWduIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ2MSwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSI6eyJpZCI6OTQzLCJuYW1lIjoiSlMuVk0uSW52aXRlSW5FbXB0eVN0YXRlIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjY1NiwibmFtZSI6Ikludml0ZSBpbiBFbXB0eSBTdGF0ZSBSb2xsb3V0IHRvIDEwJSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjAgMTI6NDA6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM5MSwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTIsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDAsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMDAlIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMDowMjozMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0wNyAxNjo1MDowNyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY0LCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ2NSwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6InZhcmlhbnQxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuVXBsb2FkLlNob3dRdW90YVdhcm5pbmdUb0ZyZWVVc2VycyI6eyJpZCI6OTM5LCJuYW1lIjoiSlMuVXBsb2FkLlNob3dRdW90YVdhcm5pbmdUb0ZyZWVVc2VycyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvdXBsb2FkXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDksIm5hbWUiOiIqIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0zMCAxMjoyODozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzo0MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzgxLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM4MiwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjU1LCJuYW1lIjoiKzQwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wMyAxMTo0NTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Mzg5LCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM5MCwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjYwLCJuYW1lIjoiNTAlIC0gU2hvdyBxdW90YSB3YXJuaW5nIHRvIEZyZWUgdXNlcnMgb24gdXBsb2FkIHBhZ2UiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTA1IDE2OjIzOjM0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0MDAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDAxLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDMsIm5hbWUiOiIrNTAlIC0gU2hvdyBxdW90YSB3YXJuaW5nIHRvIEZyZWUgdXNlcnMgb24gdXBsb2FkIHBhZ2UiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTMxIDEzOjAzOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0NzAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDcxLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkFWUy5TdW5zZXRBVlNQcml2YWN5Ijp7ImlkIjo5MzIsIm5hbWUiOiJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC86Y2xpcElkXC9hZHZhbmNlZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjY0NCwibmFtZSI6IkFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTA6MjQ6MTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NTQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM3MiwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzczLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjkyLCJuYW1lIjoiMTAwJSByYW1wIC0gQVZTIFByaXZhY3kgTWlncmF0aW9uIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yNCAxMToyMTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDUxLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NTIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciI6eyJpZCI6OTI4LCJuYW1lIjoiSlMuRWRpdG9yLk1lZGlhSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjIyLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDEwMCkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTE4IDEzOjA5OjMyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIxIDA2OjI1OjQ1IiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzQsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjI4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDIwMCkiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIxIDA2OjI2OjQwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTI5IDAzOjE3OjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNDUsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNDYsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzA2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDIwMCluZXciLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTExLTAyIDA1OjAyOjM3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTExLTI3IDA2OjA1OjM4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ0NzYsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NzcsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzE4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDgwMCluZXciLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTExLTEwIDA3OjQyOjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTExLTI3IDA2OjA1OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0OTMsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTQsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKHZhcmlhbnQpICIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTExLTI3IDA2OjA2OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1MjcsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3JfbmV3MiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI4IDA0OjMxOjM2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzcsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1NzgsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZXR0aW5ncy5NZW1iZXJzaGlwUGxhbi5TaG93Q29udGFjdFN1cHBvcnRMaW5rIjp7ImlkIjo5MTgsIm5hbWUiOiJKUy5TZXR0aW5ncy5NZW1iZXJzaGlwUGxhbi5TaG93Q29udGFjdFN1cHBvcnRMaW5rIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjIxLCJuYW1lIjoiT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMjIgMDc6NTQ6MDIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDc6NTQ6MzIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDMzMSwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzMyLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjMzLCJuYW1lIjoiKiBPZmZlciBhIGRvd25ncmFkZSBvcHRpb24iLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI4IDExOjQ2OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNTMsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM1NCwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwMSwibmFtZSI6IkRvd25ncmFkZSBDVEEiLCJidWNrZXRzIjoyMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTI4IDExOjQ3OjAzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0NjYsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ2NywibmFtZSI6InNob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLmhpZGVTdHlsZXMiOnsiaWQiOjkxNSwibmFtZSI6IkpTLkVkaXRvci5oaWRlU3R5bGVzIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNTYwLCJuYW1lIjoiaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTQgMDI6NTA6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTYgMDY6NTI6MzYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0NiwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDI0NywibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NjMsIm5hbWUiOiJoaWRlU3R5bGVzIDIwMCIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTQgMTM6MDI6NDYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTYgMDY6NTI6NDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI1MSwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDI1MiwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NjQsIm5hbWUiOiJoaWRlU3R5bGVzIDUwMCIsImJ1Y2tldHMiOjMwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMDYgMDM6MDY6NDEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTYgMDY6NTI6NTQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI1MywibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDI1NCwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NzIsIm5hbWUiOiJoaWRlU3R5bGVzIDEwMDAiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDA1OjU4OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNjUsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNjYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVHJhbnNjcmlwdGlvblZpZGVvRWRpdG9yIjp7ImlkIjo5MTEsIm5hbWUiOiJKUy5FZGl0b3IuVHJhbnNjcmlwdGlvblZpZGVvRWRpdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU0NywibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiYnVja2V0cyI6MSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMjggMDc6MDA6NTYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIyMCwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIyMSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MTAwMDAwMDAwMH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzgsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvcl9yZWxlYXNlIiwiYnVja2V0cyI6OTk5LCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xNSAwNTowMToyMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTcxLCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTcyLCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLmRyYWdvbmZseSI6eyJpZCI6OTA4LCJuYW1lIjoiSlMuRWRpdG9yLmRyYWdvbmZseSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3NcL2NyZWF0ZVwvY3VzdG9taXplIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNTMyLCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNiAwODo1MzoyNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yOCAwMjoyMjoyMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTk3LCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTk4LCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjU0NCwibmFtZSI6InNob3dfZHJhZ29uZmx5IDEwMCUiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yOCAwMjoyNDowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjE1LCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLnNob3dUb29sYmFyIjp7ImlkIjo4OTcsIm5hbWUiOiJKUy5FZGl0b3Iuc2hvd1Rvb2xiYXIiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJ2aW1lby5jb21cL2NyZWF0ZVwvY3VzdG9taXplIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNTE0LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoMTAlKSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMTEgMTU6MTY6NDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjQgMDM6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE2NywibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQxNjgsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjUxNiwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDkwJSkiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTEzIDA0OjE5OjIwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjI4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNzEsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTcyLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MzUsIm5hbWUiOiJTaG93IHRvb2wgYmFyIChjbG9zZSB0ZXN0KSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU5OjI4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMDMsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuQ2FuY2VsbGF0aW9uLkdlcm1hbnkiOnsiaWQiOjg5NSwibmFtZSI6IkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDg3LCJuYW1lIjoiR2VybWFueSBSZWdpb24iLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0wMSAwOTozODoxOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTI5LCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQxMzAsIm5hbWUiOiJjYW5jZWxfaW5fc3VydmV5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjI4NiwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkRFIl19XX1dfSwiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIjp7ImlkIjo4ODIsIm5hbWUiOiJKUy5MT0hQLkZ1bGxQYWdlUmVkZXNpZ24iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI0NTYsIm5hbWUiOiJIb21lIHBhZ2UgLSBOZXcgVmVyc2lvbiAtIEFsbCBVc2VycyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTE0IDE2OjIxOjMwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA2LTI4IDAxOjE5OjM4IiwicGFyYW1ldGVycyI6W3siaWQiOjQwODUsIm5hbWUiOiJzaG93X3BhZ2UiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ4MywibmFtZSI6IkhvbWUgcGFnZSBNb2JpbGUgVGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI4IDAxOjIwOjQyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTEyIDA5OjQzOjU4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjMsIm5hbWUiOiJzaG93X3BhZ2UiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI0LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NjEsIm5hbWUiOiJWYXJpYW50IHRvIDEwMCUgdXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0NTowNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjQ4LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJlY29yZEV4dGVuc2lvbi5TaWduVXBXYWxsIjp7ImlkIjo4NDksIm5hbWUiOiJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMzI1LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA0LTI4IDA4OjUzOjUwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI4IDA4OjU1OjU2IiwicGFyYW1ldGVycyI6W3siaWQiOjM5MTIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjozOTEzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzNTIsIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NjoyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOSAxMDozNzo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTM5LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6Mzk0MCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDM5LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIHByb2QiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTA3IDA1OjIwOjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA2LTI5IDExOjAzOjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQwNjAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MDYxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIFx1MDQzYzIgLSBwcm9kIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMjkgMTE6MDY6MDQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMDQgMTE6NDU6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyNywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQxMjgsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjUwMCwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgdjIgLSBwcm9kIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDYgMTA6MjU6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDI6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE0NywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQxNDgsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjU1NiwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgdjIgLSBwcm9kIChBXC9BXC9CXC9CKSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAzOjQ2IiwicGF1c2VkX29uIjoiMjAyMi0wOC0wOSAwODowMzo1NyIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjA0OjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyMzcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjM4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTcsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSSIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMDkgMDg6NTE6MDYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDc6NDk6MzIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0MCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDEsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjU1OCwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgdjIgLSBwcm9kIChBXC9BXC9CXC9CKSBJSSIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMDkgMDg6NTE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDc6NDk6MjciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0MiwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDMsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMiwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBSb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMjIgMDc6NTA6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDg6NTE6NTEiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjM1LCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUyOjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzNTcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuV2ViaW5hci5SZWdpc3RyYW50Q2FwRm9yUHJlbWl1bSI6eyJpZCI6ODIwLCJuYW1lIjoiSlMuV2ViaW5hci5SZWdpc3RyYW50Q2FwRm9yUHJlbWl1bSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6InVwZ3JhZGUsIGNoZWNrb3V0IGFuZCBtYXJrZXRpbmcgcGFnZXMiLCJleHBlcmltZW50cyI6W3siaWQiOjIyNDMsIm5hbWUiOiJSb2xsb3V0IHRvIDEwJSB0cmFmZmljIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wMSAwNToyNzoxNyIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzE6NDUiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjozODAzLCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MzgwNCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDM4LCJuYW1lIjoiKiBSb2xsb3V0IHRvIDQwJSB0cmFmZmljIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNiAxMToxNDowMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzE6NTgiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDU4LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA1OSwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDQ0LCJuYW1lIjoiKiAqIFJvbGxvdXQgdG8gNTAlIHRyYWZmaWMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTA4IDAwOjA1OjMxIiwicGF1c2VkX29uIjoiMjAyMi0wNy0wMSAxNDozMjowNCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQwNjksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MDcwLCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5NYXNrc0dyYWR1YWxSZWxlYXNlIjp7ImlkIjo4MDcsIm5hbWUiOiJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL2NyZWF0ZVwvY3VzdG9taXplIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMTY0LCJuYW1lIjoiTWFza3NHcmFkdWFsUmVsZWFzZSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDMtMzAgMDI6Mjk6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjYgMDg6MDg6NDMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzcwNywibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjozNzA4LCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMjY4LCJuYW1lIjoiX01hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA0LTA1IDA4OjQxOjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjMzIiwicGFyYW1ldGVycyI6W3siaWQiOjM4MzMsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzgzNCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjMzOSwibmFtZSI6Il9fX01hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yNiAxNDo1NzoxNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTI4LCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5BcHBsZVBheURlZmF1bHRTZWxlY3RlZCI6eyJpZCI6NjEzLCJuYW1lIjoiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJwcm8sIHByZW1pdW0sIHBsdXMsIGJ1c2luZXNzIGNoZWNrb3V0IHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoxNjE4LCJuYW1lIjoiQXBwbGUgcGF5IHNlbGVjdGVkIGJ5IGRlZmF1bHQiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTMwIDExOjE1OjI2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MjcsIm5hbWUiOiJzZWxlY3RfYXBwbGVfcGF5X2J5X2RlZmF1bHQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyODI4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjE2OTksIm5hbWUiOiIrOTAlIC0gQXBwbGUgcGF5IHNlbGVjdGVkIGJ5IGRlZmF1bHQiLCJidWNrZXRzIjo5MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTA0LTA1IDE3OjM4OjA1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI5NTgsIm5hbWUiOiJzZWxlY3RfYXBwbGVfcGF5X2J5X2RlZmF1bHQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyOTU5LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCI6eyJpZCI6NjAxLCJuYW1lIjoiSlMuUmV2aWV3LlJlZ2lzdGVyVG9Db21tZW50IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC86dXNlcm5hbWVcL3Jldmlld1wvOmNsaXBJZFwvOmNsaXBIYXNoIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoxNTg5LCJuYW1lIjoiUmVnaXN0ZXIgdG8gQ29tbWVudCAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAyLTExIDExOjE4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIxLTAzLTAxIDExOjUxOjEwIiwicGFyYW1ldGVycyI6W3siaWQiOjI3ODcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjIzLCJuYW1lIjoiUmVnaXN0ZXIgdG8gQ29tbWVudCAjMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjEtMDMtMDEgMTE6NTM6NTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MjgzNywibmFtZSI6InJlcXVpcmVfcmVnaXN0cmF0aW9uIiwiY2hvaWNlIjoidHJ1ZSIsIndlaWdodCI6MX0seyJpZCI6MjgzOCwibmFtZSI6InJlcXVpcmVfcmVnaXN0cmF0aW9uIiwiY2hvaWNlIjoiZmFsc2UiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19fTsKICAgIDwvc2NyaXB0Pgo8c2NyaXB0PgooZnVuY3Rpb24oKSB7CiAgICB3aW5kb3cuX2d0bSA9IFt7ImNsaXBfaWQiOjc4NDg4NDYsInBhZ2VfcGF0aCI6IlwvNzg0ODg0NiIsImNyZWF0b3JfaWQiOjE5NTU3NSwiY3JlYXRvcl91c2VyX3R5cGUiOiJiYXNpYyIsInZpZGVvX2NhdGVnb3JpZXMiOiIiLCJwcml2YWN5IjoiYW55Ym9keSIsInN0YWZmX3BpY2siOiJubyIsInVzZXJfaWQiOm51bGwsInBhZ2VfdHlwZSI6IlZpZGVvIiwibGFuZ3VhZ2UiOiJlbiIsInVzZXJfc3RhdHVzIjoibG9nZ2VkX291dCIsInVzZXJfdHlwZSI6Im5vbmUiLCJnYV91bml2ZXJzYWxfaWQiOiJVQS03NjY0MS04IiwiY29tc2NvcmVfc2l0ZV9pZCI6MTAzNDgyODl9XTsKCiAgICAgICAgdmFyIGdkcHJDb29raWUgPSAoZG9jdW1lbnQuY29va2llLm1hdGNoKC9eKD86Lio7KT9ccyp2aW1lb19nZHByX29wdGluXHMqPVxzKihbXjtdKykoPzouKik/JC8pfHxbLG51bGxdKVsxXTsKICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICAgICB3aW5kb3cuX2d0bS5wdXNoKHsKICAgICAgICAndnVpZCc6IGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKil2dWlkXHMqXD1ccyooW147XSopLiokKXxeLiokLywgIiQxIiksCiAgICAgICAgJ2d0bS5zdGFydCc6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLAogICAgICAgICdldmVudCc6ICdndG0uanMnCiAgICB9KTsKICAgICAgICAKICAgIHZhciBhY3RpdmVHcm91cHMgPSB3aW5kb3cuT25ldHJ1c3RBY3RpdmVHcm91cHMgfHwgJyc7CiAgICB2YXIgZ3RtcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgIG5vZGU7CiAgICBndG1zLmFzeW5jID0gdHJ1ZTsKICAgIGd0bXMudHlwZSA9IGFjdGl2ZUdyb3Vwcy5pbmRleE9mKCJDMDAwMiIpID09PSAtMSA/ICd0ZXh0L3BsYWluJyA6ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgZ3Rtcy5jbGFzc05hbWUgPSAib3B0YW5vbi1jYXRlZ29yeS1DMDAwMiI7CiAgICBndG1zLnNyYyA9ICcvL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9R1RNLVJCS0smbD1fZ3RtJzsKICAgIG5vZGUgPSBkb2N1bWVudC5oZWFkOwogICAgbm9kZS5hcHBlbmRDaGlsZChndG1zKTsKfSkoKTsKPC9zY3JpcHQ+CjxzY3JpcHQ+CiAgICB2YXIgZ29vZ2xldGFnID0gZ29vZ2xldGFnIHx8IHt9LAogICAgICAgIGdwdGFkc2xvdHMgPSBbXSwKICAgICAgICBsYW5ndWFnZSwKICAgICAgICBoYXNfdXBsb2FkZWQsCiAgICAgICAgY29ob3J0OwogICAgZ29vZ2xldGFnLmNtZCA9IGdvb2dsZXRhZy5jbWQgfHwgW107CgogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICAgICAgaWYgKGdkcHJDb29raWUgPT09ICctMScpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgICAgIHZhciBnYWRzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksCiAgICAgICAgICAgIHVzZVNTTCA9ICdodHRwczonID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sLAogICAgICAgICAgICBub2RlOwogICAgICAgIGdhZHMuYXN5bmMgPSB0cnVlOwogICAgICAgIGdhZHMudHlwZSA9IGFjdGl2ZUdyb3Vwcy5pbmRleE9mKCJDMDAwMiIpID09PSAtMSA/ICd0ZXh0L3BsYWluJyA6ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIGdhZHMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgICAgIGdhZHMuc3JjID0gKHVzZVNTTCA/ICdodHRwczonIDogJ2h0dHA6JykgKyAnLy93d3cuZ29vZ2xldGFnc2VydmljZXMuY29tL3RhZy9qcy9ncHQuanMnOwogICAgICAgIG5vZGUgPSBkb2N1bWVudC5oZWFkOwogICAgICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ2Fkcyk7CiAgICB9KSgpOwoKICAgIGdvb2dsZXRhZy5jbWQucHVzaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdwdGFkc2xvdHNbMF0gPSBnb29nbGV0YWcuZGVmaW5lU2xvdCgnLy81NDU0OTU0NC9jbGlwcycsIFtbOTcwLDI1MF0sWzcyOCw5MF0sWzMwMCwyNTBdLCJmbHVpZCJdLCAnZGl2LWdwdC1hZC03ODQ2NTE3NCcpLnNldFRhcmdldGluZygncCcsIFsnQlRGJ10pOwoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgZ3B0YWRzbG90c1swXS5hZGRTZXJ2aWNlKGdvb2dsZXRhZy5wdWJhZHMoKSk7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iYXBwX2Jhbm5lcl9jb250YWluZXIiPgoKICAgIDxkaXYgY2xhc3M9ImFwcF9iYW5uZXIgaGlkZSBqcy1hcHBfYmFubmVyIj4KCiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYXBwX2Jhbm5lcl9jbG9zZSBqcy1hcHBfYmFubmVyX2Nsb3NlIj4mdGltZXM7PC9idXR0b24+CgogICAgICAgIDxkaXYgY2xhc3M9ImFwcF9iYW5uZXJfaWNvbl93cmFwcGVyIj4KICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYXBwX2Jhbm5lcl9pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI0IDYuNjQzQzI0IDExLjI4NiAxNSAyMiAxMC44NzUgMjIgNiAyMiA2IDcuNzE0IDMuMDEzIDcuNzE0Yy0uMzg4IDAtMS44ODMgMS4wNy0xLjg4MyAxLjA3TDAgNy4zNThzNS4yNS01IDcuNS01YzQuNSAwIDMgMTIuNSA1LjYyNSAxMi41IDEuNSAwIDYuNzUtNy44NTcgMi4yNS03Ljg1Ny0uNzUgMC0xLjUuMzU3LTEuNS4zNTdDMTUgMy43ODcgMTcuMjUgMiAyMC42MjUgMiAyMi44NzUgMiAyNCAzLjc4NiAyNCA2LjY0M3oiLz48L3N2Zz4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iYXBwX2Jhbm5lcl9jdGEiPgogICAgICAgICAgICBXYXRjaCBpbiBvdXIgYXBwICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGEKICAgICAgICAgICAgY2xhc3M9ImFwcF9iYW5uZXJfYnV0dG9uIGpzLWFwcF9iYW5uZXJfb3Blbl9hcHAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9tb2JpbGVyZWRpcmVjdHM/dHlwZT1zdG9yZSZhcHA9dmltZW8mYWZfYWQ9dmltZW9fd2F0Y2hfaW5fb3VyX2FwcF9ibHVlJmFmX2Fkc2V0PWFwcF9iYW5uZXJfc21hbGwmYWZfZHA9dmltZW8lM0ElMkYlMkZ2aWRlb3MlMkY3ODQ4ODQ2JmFmX2ZvcmNlX2RlZXBsaW5rPXRydWUmYz1jbGlwX3BhZ2VfYXBwX2Jhbm5lciZwaWQ9dmltZW9fbW9iaWxlX3dlYiIgICAgICAgID4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFwcF9iYW5uZXJfYnV0dG9uX3RleHQiPk9wZW4gaW4gYXBwPC9zcGFuPgogICAgICAgIDwvYT4KCiAgICA8L2Rpdj4KCjwvZGl2PgoKCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CgogICAgCiAgICB3aW5kb3cudmltZW8uY2xpcF9wYWdlX2NvbmZpZyA9IHsiY2xpcCI6eyJpZCI6Nzg0ODg0NiwidGl0bGUiOiJJS09OUyAtIFNMT1cgTElHSFQiLCJkZXNjcmlwdGlvbiI6IjxwIGNsYXNzPVwiZmlyc3RcIj5BcnRpc3Q6IElLT05TLjxicj5cblRpdGxlOiBTTE9XIExJR0hULjxicj5cbkNyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uPGJyPlxuTGFiZWw6IFNFUlZJQ0UuPGJyPlxuPGEgaHJlZj1cImh0dHA6XC9cL3d3dy5zcnZjLnNlXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9mb2xsb3cgbm9vcGVuZXIgbm9yZWZlcnJlclwiPnNydmMuc2U8XC9hPjxcL3A+XG48cD5BbGJ1bSAmcXVvdDtJa29ucyZxdW90OyBvdXQgbm93IENEXC9MUFwvU3RyZWFtIGZyb20gU2VydmljZTxcL3A+IiwidXBsb2FkZWRfb24iOiIyMDA5LTExLTI3IDA2OjE5OjM5IiwidXBsb2FkZWRfb25fcmVsYXRpdmUiOiIxNCB5ZWFycyBhZ28iLCJ1cGxvYWRlZF9vbl9mdWxsIjoiRnJpZGF5LCBOb3ZlbWJlciAyNywgMjAwOSBhdCA2OjE5IEFNIEVTVCIsImlzX3NwYXRpYWwiOmZhbHNlLCJpc19oZHIiOmZhbHNlLCJpc19oZHJfMTBfcGx1cyI6ZmFsc2UsImlzX2RvbGJ5X3Zpc2lvbiI6ZmFsc2UsInByaXZhY3kiOnsiaXNfcHVibGljIjp0cnVlLCJ0eXBlIjoiYW55Ym9keSIsImRlc2NyaXB0aW9uIjoiUHVibGljIn0sImR1cmF0aW9uIjp7InJhdyI6NDk0LCJmb3JtYXR0ZWQiOiIwODoxNCJ9LCJpc19saWtlZCI6ZmFsc2UsImlzX3VuYXZhaWxhYmxlIjpmYWxzZSwibGlrZXNfdXJsIjoiXC83ODQ4ODQ2XC9saWtlcyIsImlzX2xpdmUiOmZhbHNlLCJ1bmxpc3RlZF9oYXNoIjpudWxsfSwib3duZXIiOnsiaWQiOjE5NTU3NSwiZGlzcGxheV9uYW1lIjoiU2VydmljZSIsImhhc19hZHZhbmNlZF9zdGF0cyI6ZmFsc2UsImlzX3Byb19sYXBzZWQiOmZhbHNlLCJpc19wYWlkIjpmYWxzZSwiYmFkZ2UiOm51bGwsInBvcnRyYWl0Ijp7InNyYyI6Imh0dHBzOlwvXC9pLnZpbWVvY2RuLmNvbVwvcG9ydHJhaXRcLzEwNTE4NjVfNzV4NzUiLCJzcmNfMngiOiJodHRwczpcL1wvaS52aW1lb2Nkbi5jb21cL3BvcnRyYWl0XC8xMDUxODY1XzE1MHgxNTAifSwiaXNfbW9kIjpmYWxzZSwidXJsIjoiXC9zZXJ2aWNlIiwidmVyaWZpZWQiOnRydWUsImlzX2ZvbGxvd2luZyI6ZmFsc2UsImlzX2F2YWlsYWJsZV9mb3JfaGlyZSI6bnVsbH0sIm9uZGVtYW5kIjpudWxsLCJicmFuZF9jaGFubmVsIjpudWxsLCJhcGlfdXJsIjoiYXBpLnZpbWVvLmNvbSIsImp3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGcwTXpjeE5qQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ6ZEdGMGN5SXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuTUtRWmdiZnlycmJkNFAtSFUtS0ZmTjZJVWFlajg0WE1ubFJDNXZ1anUyQSIsImNoYXQiOm51bGwsImN1cl91c2VyIjpudWxsLCJzdGF0dXMiOnsic3RhdGUiOiJyZWFkeSJ9LCJjb3B5cmlnaHRfc3RhdHVzIjp7ImlzX2Jsb2NrZWQiOmZhbHNlfSwiY29udGVudF9ibG9ja19zdGF0dXMiOnsiaXNfYmxvY2tlZCI6ZmFsc2UsIm1lc3NhZ2UiOiJWaWRlbyBpcyBub3QgcmF0ZWQuIExvZyBpbiB0byB3YXRjaC4iLCJjb250aW51b3VzX3BsYXlfZW5hYmxlZCI6ZmFsc2UsImFsbG93QnlwYXNzIjpmYWxzZSwicmVxdWlyZUxvZ2luIjp0cnVlLCJwb3NzaWJsZU9mY29tQmxvY2siOnRydWV9LCJwbGF5ZXIiOnsiY29uZmlnX3VybCI6Imh0dHBzOlwvXC9wbGF5ZXIudmltZW8uY29tXC92aWRlb1wvNzg0ODg0NlwvY29uZmlnP2F1dG9wYXVzZT0xJmJ5bGluZT0wJmNvbGxlY3Rpb25zPTEmY29udGV4dD1WaW1lbyU1Q0NvbnRyb2xsZXIlNUNDbGlwQ29udHJvbGxlci5tYWluJmRlZmF1bHRfdG9faGQ9MSZoPTQ2NmViZDJmMzMmb3V0cm89bm90aGluZyZwb3J0cmFpdD0wJnNoYXJlPTEmc3BlZWQ9MSZ0aXRsZT0wJndhdGNoX3RyYWlsZXI9MCZzPTkzY2I1ZTc5NGNhNWYyNDVjOTcwMzJhYzk4M2JkM2JjYTFhMTU4MjdfMTY5ODQ1MTUyMSIsInBsYXllcl91cmwiOiJwbGF5ZXIudmltZW8uY29tIiwiZGltZW5zaW9ucyI6eyJoZWlnaHQiOjU0MCwid2lkdGgiOjcyMH0sInBvc3RlciI6eyJ1cmwiOiJodHRwczpcL1wvaS52aW1lb2Nkbi5jb21cL3ZpZGVvXC8zNTAxNDU4NC00NDY2NTY0MjFhOTM1ZjlmMjU2Mzc1ZjFmYWUyZGM4YTJkNTAwMzAzMDk5OWEyMzU2MWE3NmE0YWQ1Y2UxYmYxLWQ/bXc9MjAwMCZtaD0xMDgwJnE9NzAifX0sInNoYXJlX2VuYWJsZWQiOnRydWUsInNlbmRfdG9fd2lwc3Rlcl9lbmFibGVkIjpmYWxzZSwidGh1bWJuYWlsIjp7InNyYyI6Imh0dHBzOlwvXC9pLnZpbWVvY2RuLmNvbVwvdmlkZW9cLzM1MDE0NTg0LTQ0NjY1NjQyMWE5MzVmOWYyNTYzNzVmMWZhZTJkYzhhMmQ1MDAzMDMwOTk5YTIzNTYxYTc2YTRhZDVjZTFiZjEtZF8xOTB4MTA3Iiwic3JjXzJ4IjoiaHR0cHM6XC9cL2kudmltZW9jZG4uY29tXC92aWRlb1wvMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kXzM4MHgyMTQiLCJ3aWR0aCI6MTkwLCJoZWlnaHQiOjEwNywiaWQiOjM1MDE0NTg0fSwiYWRzIjp7ImhvdXNlX2Fkc19lbmFibGVkIjp0cnVlLCJ0aGlyZF9wYXJ0eV9hZHNfZW5hYmxlZCI6ZmFsc2V9LCJjb250ZW50X3JhdGluZyI6eyJ0eXBlIjoidW5yYXRlZCIsIm1lc3NhZ2UiOiJOb3QgWWV0IFJhdGVkIiwiZGVzY3JpcHRpb24iOiIifSwiY29udGVudF9hZHZlcnRpc2VtZW50X3dhcm5pbmciOm51bGwsIm5vdGlmaWNhdGlvbnMiOltdLCJjYXRlZ29yaWVzX2NvbmZpZyI6eyJjYXRlZ29yaWVzIjpbXSwidG90YWxfY2F0ZWdvcmllcyI6MH0sIm11c2ljX3RyYWNrIjpudWxsLCJjY19saWNlbnNlIjpudWxsLCJnb29nbGVfYXBwX2lkIjoiNTk5MTY4ODA2Njk3LTF2YWlsZjB2NmFpMGowOXZhMWhnYTBrcm5kMG4zdGxxLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiY3JlZGl0cyI6eyJ0b3RhbF9jcmVkaXRzIjp7InJhdyI6MCwiZm9ybWF0dGVkIjowfX0sInN0cmVhbSI6eyJpZCI6bnVsbCwicG9zIjowfSwiY29sbGVjdGlvbl9hZGRlciI6eyJlbmFibGVkIjp0cnVlfSwicmVjYXB0Y2hhX3NpdGVfa2V5IjoiNkxlUkNMd1NBQUFBQU9KMWJhX3hxZDNOQk9sVjVQX1hSV0pWRVBkdyIsImNsaXBfc3RhdHMiOnsiZW5hYmxlZCI6ZmFsc2V9LCJkb3dubG9hZF9jb25maWciOm51bGwsImhhc19yZXZpZXdfbW9kZXMiOmZhbHNlLCJkYXRhX2xheWVyIjp7ImNsaXBfaWQiOjc4NDg4NDYsInBhZ2VfcGF0aCI6IlwvNzg0ODg0NiIsImNyZWF0b3JfaWQiOjE5NTU3NSwiY3JlYXRvcl91c2VyX3R5cGUiOiJiYXNpYyIsInZpZGVvX2NhdGVnb3JpZXMiOiIiLCJwcml2YWN5IjoiYW55Ym9keSIsInN0YWZmX3BpY2siOiJubyIsInVzZXJfaWQiOm51bGwsInBhZ2VfdHlwZSI6IlZpZGVvIn0sImNhbl9hZGRfcmVhY3Rpb25fb25fY2xpcCI6ZmFsc2V9OwoKICAgIC8vIEF1dG9wbGF5IHRlc3QgZm9yIG9uc2l0ZSByZWZlcnJhbHMgdG8gY2xpcCBwYWdlCiAgICAoZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBjbGlwID0gd2luZG93LnZpbWVvLmNsaXBfcGFnZV9jb25maWc7CiAgICAgICAgdmFyIGlzT3duZXIgPSBjbGlwLmN1cl91c2VyID8gY2xpcC5jdXJfdXNlci5pZCA9PT0gY2xpcC5vd25lci5pZCA6IGZhbHNlOwogICAgICAgIHZhciBoYXNBdXRvcGxheVBhcmFtID0gLyhcP3wmKWF1dG9wbGF5PTEoJnwkKS8udGVzdCh3aW5kb3cubG9jYXRpb24uaHJlZik7CiAgICAgICAgdmFyIGhhc09uc2l0ZVJlZmVycmVyID0gd2luZG93LnZpbWVvX2VzaS5jb25maWcub25zaXRlX3JlZmVycmVyOwoKICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGF1dG9wbGF5IHJlZnJlc2hlcyBhbmQgaGlzdG9yeSB0cmF2ZXJzYWxzCiAgICAgICAgdmFyIGlzTmV3UGFnZSA9IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT09IDA7CgogICAgICAgIC8vIElmIHdlIHBhc3MgYWxsIHRoZSBjb25kaXRpb25zIG92ZXJyaWRlIHBsYXllciBjb25maWcgd2l0aCBuZXcgb25lIGluY2x1ZGluZyBhdXRvcGxheSBwYXJhbQogICAgICAgIGlmIChpc05ld1BhZ2UgJiYgaGFzT25zaXRlUmVmZXJyZXIgJiYgIWhhc0F1dG9wbGF5UGFyYW0gJiYgIWlzT3duZXIpIHsKICAgICAgICAgICAgd2luZG93LnZpbWVvLmNsaXBfcGFnZV9jb25maWcucGxheWVyID0geyJjb25maWdfdXJsIjoiaHR0cHM6XC9cL3BsYXllci52aW1lby5jb21cL3ZpZGVvXC83ODQ4ODQ2XC9jb25maWc/YXV0b3BhdXNlPTEmYXV0b3BsYXk9MSZieWxpbmU9MCZjb2xsZWN0aW9ucz0xJmNvbnRleHQ9VmltZW8lNUNDb250cm9sbGVyJTVDQ2xpcENvbnRyb2xsZXIubWFpbiZkZWZhdWx0X3RvX2hkPTEmaD00NjZlYmQyZjMzJm91dHJvPW5vdGhpbmcmcG9ydHJhaXQ9MCZzaGFyZT0xJnNwZWVkPTEmdGl0bGU9MCZ3YXRjaF90cmFpbGVyPTAmcz04MjlmZmQ4ZmM5Y2VmNjNhMmQ1NzVkZDMyY2RkM2MyMTc5N2M5MjllXzE2OTg0NTE1MjEiLCJwbGF5ZXJfdXJsIjoicGxheWVyLnZpbWVvLmNvbSIsImRpbWVuc2lvbnMiOnsiaGVpZ2h0Ijo1NDAsIndpZHRoIjo3MjB9LCJwb3N0ZXIiOnsidXJsIjoiaHR0cHM6XC9cL2kudmltZW9jZG4uY29tXC92aWRlb1wvMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kP213PTIwMDAmbWg9MTA4MCZxPTcwIn19OwogICAgICAgIH0KICAgIH0oKSk7Cjwvc2NyaXB0PgoKICAgIDxzY3JpcHQ+CiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cudmltZW8gPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiB3aW5kb3cudmltZW8uY2xpcHMgPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHdpbmRvdy52aW1lbyA9IHdpbmRvdy52aW1lbyB8fCB7fTsKICAgICAgICAgICAgd2luZG93LnZpbWVvLmNsaXBzID0gd2luZG93LnZpbWVvLmNsaXBzIHx8IHt9OwogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCB3aW5kb3cudmltZW8uY2xpcF9wYWdlX2NvbmZpZy5wbGF5ZXIuY29uZmlnX3VybCAsIHRydWUpOwogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cudmltZW8uY2xpcHNbJzc4NDg4NDYnXSA9IEpTT04ucGFyc2UoeGhyLnJlc3BvbnNlVGV4dCk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHhoci53aXRoQ3JlZGVudGlhbHMgPSB0cnVlOwogICAgICAgICAgICB4aHIuc2VuZCgpOwogICAgICAgIH0KICAgIDwvc2NyaXB0PgoKPCEtLVtpZiBsdGUgSUUgOV0+CiAgICA8c2NyaXB0PndpbmRvdy5sb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvbiArICc/bGl0ZT0xJzs8L3NjcmlwdD4KPCFbZW5kaWZdLS0+Cgo8ZGl2IGlkPSJvbmJvYXJkaW5nX21vdW50Ij48L2Rpdj4KCjxtYWluIGlkPSJtYWluIiBjbGFzcz0iaXNfbG9hZGluZyI+CiAgICA8ZGl2IGNsYXNzPSJpcmlzX2dyaWQgaXJpc19ncmlkX2ZwOTYwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjbGlwX21haW4iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5ZXJfYXJlYSI+CiAgICAgICAgICAgICAgICA8bm9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vdmlkZW8vMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kP213PTE5MjAmYW1wO21oPTEwODAmYW1wO3E9NzAiIGFsdD0iIiBzdHlsZT0iZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMCBhdXRvOyBtYXgtaGVpZ2h0OiA1NDBweDsiIC8+CiAgICAgICAgICAgICAgICA8L25vc2NyaXB0PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxub3NjcmlwdD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfbWFpbi1jb250ZW50IGlyaXNfZ3JpZC13cmFwcGVyLS1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpcmlzX2dyaWQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyB1LWNvbGxhcHNlIGNsaXAtbm90aWZpY2F0aW9uIiBzdHlsZT0ibWFyZ2luLXRvcDogMWVtOyBtYXJnaW4tYm90dG9tOiAxLjVlbTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tY2xpcCBpcmlzX25vdGlmaWNhdGlvbi1jbGlwLS1jYXV0aW9uIGlyaXNfbm90aWZpY2F0aW9uLS1uby1jbG9zZSBjbGVhcmZpeCIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5QbGVhc2UgZW5hYmxlIEphdmFTY3JpcHQgdG8gZXhwZXJpZW5jZSBWaW1lbyBpbiBhbGwgb2YgaXRzIGdsb3J5LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlyaXNfZ3JpZC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfaW5mby13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGlwX2luZm8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9ImNsaXBfaW5mby1oZWFkZXIiPklLT05TIC0gU0xPVyBMSUdIVDwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xpcF9pbmZvLXN1YmxpbmUtLXdhdGNoIGNsaXBfaW5mby1zdWJsaW5lLS1pbmxpbmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idXNlcmJ5bGluZS1zdWJsaW5lIHVzZXJieWxpbmUtc3VibGluZS0tbGciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+ZnJvbTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1c2VybGluayB1c2VybGluay0tbWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zZXJ2aWNlIj5TZXJ2aWNlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2xpcF9pbmZvLXRpbWUiPjx0aW1lIGRhdGV0aW1lPSIyMDA5LTExLTI3VDA2OjE5OjM5LTA1OjAwIiB0aXRsZT0iRnJpZGF5LCBOb3ZlbWJlciAyNywgMjAwOSBhdCA2OjE5IEFNIj4xNCB5ZWFycyBhZ288L3RpbWU+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGlwX2RldGFpbHMgaXJpc19kaXZpZGVyLS1kYXJrIGlyaXNfZGl2aWRlci10b3AgaXJpc19kaXZpZGVyLXRvcC0tbSBpcmlzX2RpdmlkZXItYm90IGlyaXNfZGl2aWRlci1ib3QtLW0gdS1jb2xsYXBzZSBjbGVhcmZpeCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlyaXNfZ3JpZC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfZGV0YWlscy1kZXNjcmlwdGlvbiBkZXNjcmlwdGlvbi13cmFwcGVyIGlyaXNfZGVzYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImZpcnN0Ij5BcnRpc3Q6IElLT05TLjxicj4KVGl0bGU6IFNMT1cgTElHSFQuPGJyPgpDcmVhdG9yOiBQYXRyaWsgSm9oYW5zc29uLjxicj4KTGFiZWw6IFNFUlZJQ0UuPGJyPgo8YSBocmVmPSJodHRwOi8vd3d3LnNydmMuc2UiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIG5vcmVmZXJyZXIiPnNydmMuc2U8L2E+PC9wPgo8cD5BbGJ1bSAmcXVvdDtJa29ucyZxdW90OyBvdXQgbm93IENEL0xQL1N0cmVhbSBmcm9tIFNlcnZpY2U8L3A+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L25vc2NyaXB0PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvbWFpbj4KCjxzY3JpcHQ+CiAgICB3aW5kb3cuY2FuX3ByZWxvYWQgPSB0cnVlOwoKICAgIDwvc2NyaXB0PgoKICAgIDxkaXYgY2xhc3M9ImhpZGUiPgogICAgICAgIDxkaXYgY2xhc3M9ImJsb2NrIGdwdF9hZCIgcm9sZT0iY29tcGxlbWVudGFyeSI+CiAgICAKICAgIDxkaXYgaWQ9ImRpdi1ncHQtYWQtNzg0NjUxNzQiPjwvZGl2Pgo8L2Rpdj4KICAgIDwvZGl2PgoKPHNjcmlwdD4KY29uc29sZS5sb2coJyVjIFxuXArijpwgICAgICAgQEBAJiAgICAgICBAQEBAQEBcblwK4o6cICAgICNAQEBAQEBAICAgICZAQEBAQEBAQFxuXArijpwgICNAQEBAQEBAQEAuICAlJSZAQEBAQEBAXG5cCuKOnCAgICAgICZAQEBAQCUgICAgIChAQEBAQChcblwK4o6cICAgICAgIEBAQEBAQCAgICAgQEBAQEBAXG5cCuKOnCAgICAgICAlQEBAQEAoICAuQEBAQEAoXG5cCuKOnCAgICAgICAgQEBAQEBAKEBAQEBAQFxuXArijpwgICAgICAgIC9AQEBAQEBAQEBAJSAgICAgICAgICAgIExpa2UgcGxheWluZyB3aXRoIHRlY2hub2xvZ3k/XG5cCuKOnCAgICAgICAgICZAQEBAQEBAJSAgICAgICAgICAgICAgaHR0cHM6Ly92aW1lby5jb20vam9ic1xuXArijpwgICAgICAgICAgQEBAQEAjXG5cClxuXAonLCAnY29sb3I6ICMwMGFkZWY7Jyk7Cjwvc2NyaXB0PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8Zm9vdGVyIGNsYXNzPSJmb290ZXJfdjIgZm9vdGVyX3YyLS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19zaXRlbWFwIj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fbG9nbyI+CiAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19saW5rcyI+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+VXNlIGNhc2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplbnRlcnByaXNlIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRlcnByaXNlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNtYWxsIGJ1c2luZXNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zb2x1dGlvbnMvY3JlYXRpdmUtcHJvZmVzc2lvbmFscy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpjcmVhdGl2ZV9wcm9mZXNzaW9uYWxzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGl2ZSBwcm9mZXNzaW9uYWxzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zb2x1dGlvbnMvZml0bmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmaXRuZXNzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaXRuZXNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zb2x1dGlvbnMvZmFpdGgtc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZmFpdGgiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZhaXRoICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zb2x1dGlvbnMvZWR1Y2F0aW9uLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVkdWNhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWR1Y2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUvZWNvbW1lcmNlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWNvbW1lcmNlIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFY29tbWVyY2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9yZWFsLWVzdGF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOnJlYWxfZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFsIGVzdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UHJvZHVjdDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX3JldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDggOCI+PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzkuMzkgMS4wMjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDQ+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxpc3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6aW50ZXJhY3RpdmVfdmlkZW8iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludGVyYWN0aXZlIFZpZGVvICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii92aWRlby1lZGl0b3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aWRlb19lZGl0b3J8a2V5d29yZDp2aWRlb19lZGl0b3IiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9ubGluZSBWaWRlbyBFZGl0b3IgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2F1dG8tY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19hdXRvX2NhcHRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6YXV0b19jYyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0byBDYXB0aW9uaW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy93ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6d2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViaW5hciBTb2Z0d2FyZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlydHVhbC1ldmVudHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlydHVhbF9ldmVudHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6bGl2ZV9ldmVudHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpcnR1YWwgRXZlbnRzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnZpZGVvX3BsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gUGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX2xpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTGlicmFyeSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2NyZWF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpjcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSBWaWRlbyBNYWtlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19saXZlX3N0cmVhbWluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX3N0cmVhbWluZyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBTdHJlYW1pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTY3JlZW4gUmVjb3JkZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpwcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1jb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2NvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6Y29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQ29sbGFib3JhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tbWFya2V0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Rpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpkaXN0cmlidXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIE1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb3R0P21rYz1lbnRwcnNiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX21vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDptb25ldGl6YXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2FuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfaG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBIb3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mb3ItaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19mb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6Zm9yX2hpcmUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgVmlkZW8gUHJvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlJlc291cmNlczwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX3JldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDggOCI+PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzkuMzkgMS4wMjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDQ+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxpc3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2hlbHAvemVuZGVza19zc28/cmVkaXJlY3RfdG89aHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfaGVscF9jZW50ZXJfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOmhlbHBfY2VudGVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIENlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ZpbWVvLmNvbS9ibG9nLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19ibG9nX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDp2aW1lb19ibG9nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2N1c3RvbWVycy9lbnRlcnByaXNlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX291cl9jdXN0b21lcnNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOmN1c3RvbWVyX2xvZ29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXIgQ3VzdG9tZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19zY2hvb2xfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpZGVvX3NjaG9vbCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gU2Nob29sICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL290dC9yZXNvdXJjZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3R0X3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6b3R0X3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT1RUIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2RldmVsb3Blci52aW1lby5jb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGV2ZWxvcGVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6ZGV2ZWxvcGVycyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2ZWxvcGVycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvcGFydG5lcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcGFydG5lciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6cGFydG5lciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVjb21lIGEgUGFydG5lciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZXhwZXJ0cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDp2aW1lb19leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luIFZpbWVvIEV4cGVydHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2hlbHAvZ3VpZGVsaW5lcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19ndWlkZWxpbmVzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDp2aW1lb19ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHdWlkZWxpbmVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+QXBwczwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX3JldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDggOCI+PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzkuMzkgMS4wMjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDQ+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxpc3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2FwcGxlLXN0b3JlL2lkMTM1NjY4Njc2Mz9wdD00MTc3MzEmYW1wO2N0PWxvaHAmYW1wO210PTgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDptYWNvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIG1hY09TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2FwcGxlLXN0b3JlL2lkNDI1MTk0NzU5P3B0PTQxNzczMSZhbXA7Y3Q9ZW50ZXJwcmlzZV9tb2JpbGVfY29tbXNfTFAmYW1wO210PTgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDppb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBpT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS52aW1lby5hbmRyb2lkLnZpZGVvYXBwJmFtcDtobD1lbl9VUyZhbXA7Z2w9VVMmYW1wO3BsaT0xIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6YW5kcm9pZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvdmltZW8vaWQ0MjUxOTQ3NTkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDpjcmVhdGVfaW9zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDpjcmVhdGVfYW5kcm9pZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gQ3JlYXRlIGZvciBBbmRyb2lkICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm1hZ2lzdG8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hZ2lzdG8iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hZ2lzdG8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLnNob3BpZnkuY29tL3ZpbWVvX3Byb2R1Y3RfdmlkZW9fbWFrZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDp2aW1lb19zaG9waWZ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgU2hvcGlmeSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaW50ZWdyYXRpb25zL3pvb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDp2aW1lb19mb3Jfem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIFpvb20gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5WaW1lbzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX3JldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDggOCI+PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzkuMzkgMS4wMjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDQ+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxpc3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii91cGdyYWRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ByaWNpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBQcmljaW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii91cGxvYWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdXBsb2FkX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOnVwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBVcGxvYWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc3RhZmZfcGlja3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c3RhZmZfcGlja3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL29uZGVtYW5kIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX29uX2RlbWFuZF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpvbl9kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgT24gRGVtYW5kICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmltZW9fb3R0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm90dCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBPVFQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NpdGVfbWFwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NpdGVfbWFwX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOnNpdGVfbWFwIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFNpdGUgbWFwICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9hYm91dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19hYm91dF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDphYm91dF92aW1lbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBBYm91dCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfaW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBJbnZlc3RvciBSZWxhdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9wcmVzcy52aW1lby5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ByZXNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOnByZXNzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByZXNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jYXJlZXJzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2pvYnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6am9icyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBKb2JzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+CjxzY3JpcHQ+CiAgICBjb25zdCBmb290ZXJBY2NvcmRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjaycpOwoKICAgIGlmIChmb290ZXJBY2NvcmRpb24pIHsKICAgICAgICB3aW5kb3cub251bmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmb290ZXJBY2NvcmRpb24ubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmIChmb290ZXJBY2NvcmRpb25baV0udHlwZSA9PT0gJ2NoZWNrYm94JykgewogICAgICAgICAgICAgICAgICAgIGZvb3RlckFjY29yZGlvbltpXS5jaGVja2VkID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9OwogICAgICAgIH07CiAgICB9Owo8L3NjcmlwdD4KICAgIAogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2F1eGlsaWFyeSAiPgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5LWNvbnRlbnQiPgogICAgICAgICAgICA8cD4mY29weTsgMjAyMyBWaW1lby5jb20sIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QiPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii90ZXJtcyIgdGl0bGU9IlRlcm1zICZhbXA7IENvbmRpdGlvbnMiPgogICAgICAgICAgICAgICAgICAgIFRlcm1zICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeSIgdGl0bGU9IlByaXZhY3kgUG9saWN5Ij4KICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGlkPSJkby1ub3Qtc2VsbC1pdGVtIiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0gaGlkZGVuIj4KICAgICAgICAgICAgICAgIDxhIGlkPSJkby1ub3Qtc2VsbCIgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgdGl0bGU9IkRvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZvb3RlcnxrZXl3b3JkOmRvX25vdF9zZWxsX215X3BlcnNvbmFsX2luZm9ybWF0aW9ufHRhcmdldDp0cmFuc2NlbmRfZGlhbG9ndWVfYm94Ij4KICAgICAgICAgICAgICAgICAgICBEbyBOb3QgU2VsbCBNeSBQZXJzb25hbCBJbmZvcm1hdGlvbiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3ByaXZhY3kvY2FsaWZvcm5pYS1wcml2YWN5IiB0aXRsZT0iQ0EgUHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgQ0EgUHJpdmFjeSAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL2RtY2EiIHRpdGxlPSJDb3B5cmlnaHQgSW5mb3JtYXRpb24iPgogICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiIHRpdGxlPSJMZWFybiBtb3JlIGFib3V0IGhvdyBWaW1lbyB1c2VzIGNvb2tpZXMiPgogICAgICAgICAgICAgICAgICAgIENvb2tpZXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2ZpbHRlcnMgZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgPHNwYW4gY2xhc3M9Imxhbmd1YWdlIj4KICAgICAgICAgICAgTGFuZ3VhZ2U6CiAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9IiNsYW5ndWFnZSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2xvY2FsZScsIHNpemU6ICdzbWFsbCd9KTsgcmV0dXJuIGZhbHNlOyIgdGl0bGU9IkNob29zZSBhIGRpZmZlcmVudCBsYW5ndWFnZSI+RW5nbGlzaDwvYT4KICAgICAgICA8L3NwYW4+CgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2ZpbHRlciI+TWF0dXJlIGNvbnRlbnQgZmlsdGVyOiA8L3NwYW4+PGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSBmb290ZXJfdjJfX2ZpbHRlcnNfX2xhbmcgY29udGVudGZpbHRlciBqcy1mb290ZXJfY29udGVudGZpbHRlcl9saW5rIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIG9uY2xpY2s9InZpbWVvLk1vZGFsLmNyZWF0ZSh7Y29udGVudDogJy9zZXR0aW5ncy9jb250ZW50cmF0aW5nJ30pIiB0aXRsZT0iQ2hhbmdlIHlvdXIgbWF0dXJlIGNvbnRlbnQgZmlsdGVyIj5Ob25lPC9hPgogICAgICAgICAgICA8L2Rpdj4KCjwvc2VjdGlvbj4KPCEtLSBEbyBub3Qgc2VsbCBsaW5rIGJ1dHRvbiBmb3IgQ2FsaWZvcm5pYSB1c2VycyAtLT4KPHNjcmlwdCBkYXRhLWNmYXN5bmM9ImZhbHNlIiBkYXRhLWRpc21pc3NlZC12aWV3LXN0YXRlPSJIaWRkZW4iIGRhdGEtdGFtcGVyLXJlc2lzdD0ib2ZmIgogICAgc3JjPSJodHRwczovL2Nkbi50cmFuc2NlbmQuaW8vY20vMzFlOTdjYmYtMzU1Yy00ZjBkLThiYWQtOWNkOTQ1MTIxNTA4L2FpcmdhcC5qcyI+Cjwvc2NyaXB0Pgo8L2Zvb3Rlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgogICAgICAgIFt7InVybCI6Imh0dHBzOi8vdmltZW8uY29tLzc4NDg4NDYiLCJ0aHVtYm5haWxVcmwiOiJodHRwczovL2kudmltZW9jZG4uY29tL3ZpZGVvLzM1MDE0NTg0LTQ0NjY1NjQyMWE5MzVmOWYyNTYzNzVmMWZhZTJkYzhhMmQ1MDAzMDMwOTk5YTIzNTYxYTc2YTRhZDVjZTFiZjEtZD9mPXdlYnAiLCJlbWJlZFVybCI6Imh0dHBzOi8vcGxheWVyLnZpbWVvLmNvbS92aWRlby83ODQ4ODQ2P2g9NDY2ZWJkMmYzMyIsIm5hbWUiOiJJS09OUyAtIFNMT1cgTElHSFQiLCJkZXNjcmlwdGlvbiI6IkFydGlzdDogSUtPTlMuIFRpdGxlOiBTTE9XIExJR0hULiBDcmVhdG9yOiBQYXRyaWsgSm9oYW5zc29uLiBMYWJlbDogU0VSVklDRS4gd3d3LnNydmMuc2UgIEFsYnVtICZxdW90O0lrb25zJnF1b3Q7IG91dCBub3cgQ0QvTFAvU3RyZWFtIGZyb20gU2VydmljZSIsImhlaWdodCI6NDgwLCJ3aWR0aCI6NjQwLCJwbGF5ZXJUeXBlIjoiSFRNTDUgRmxhc2giLCJ2aWRlb1F1YWxpdHkiOiJTRCIsInVwbG9hZERhdGUiOiIyMDA5LTExLTI3VDA2OjE5OjM5LTA1OjAwIiwiZGF0ZU1vZGlmaWVkIjoiMjAyMi0wNy0wMVQwNjowNToxMC0wNDowMCIsInRodW1ibmFpbCI6eyJAdHlwZSI6IkltYWdlT2JqZWN0IiwidXJsIjoiaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS92aWRlby8zNTAxNDU4NC00NDY2NTY0MjFhOTM1ZjlmMjU2Mzc1ZjFmYWUyZGM4YTJkNTAwMzAzMDk5OWEyMzU2MWE3NmE0YWQ1Y2UxYmYxLWQ/Zj13ZWJwIiwid2lkdGgiOjEyODAsImhlaWdodCI6OTYwfSwiYXV0aG9yIjp7IkB0eXBlIjoiUGVyc29uIiwibmFtZSI6IlNlcnZpY2UiLCJ1cmwiOiJodHRwczovL3ZpbWVvLmNvbS9zZXJ2aWNlIn0sInBvdGVudGlhbEFjdGlvbiI6eyJAdHlwZSI6IlZpZXdBY3Rpb24iLCJ0YXJnZXQiOiJ2aW1lbzovL2FwcC52aW1lby5jb20vdmlkZW9zLzc4NDg4NDYifSwiZHVyYXRpb24iOiJQVDAwSDA4TTE0UyIsIkB0eXBlIjoiVmlkZW9PYmplY3QiLCJAY29udGV4dCI6Imh0dHA6Ly9zY2hlbWEub3JnIn0seyJpdGVtTGlzdEVsZW1lbnQiOlt7IkB0eXBlIjoiTGlzdEl0ZW0iLCJwb3NpdGlvbiI6MSwiaXRlbSI6eyJAaWQiOiJodHRwczovL3ZpbWVvLmNvbS9zZXJ2aWNlIiwibmFtZSI6IlNlcnZpY2UifX0seyJAdHlwZSI6Ikxpc3RJdGVtIiwicG9zaXRpb24iOjIsIml0ZW0iOnsiQGlkIjoiaHR0cHM6Ly92aW1lby5jb20vc2VydmljZS92aWRlb3MiLCJuYW1lIjoiVmlkZW9zIn19XSwiQHR5cGUiOiJCcmVhZGNydW1iTGlzdCIsIkBjb250ZXh0IjoiaHR0cDovL3NjaGVtYS5vcmcifV0gICAgPC9zY3JpcHQ+Cgo8c2NyaXB0PgogICAgdmFyIF9fZmEgPSBfX2ZhIHx8IFtdOwogICAgLyoqCiAgICAgKiBCZWNhdXNlIHNpbmdsZSBwYWdlIGFwcGxpY2F0aW9ucyBzdWNoIGFzIHRoZSBhcHAgc2hlbGwgd2lsbCBiZSB0cmFja2luZwogICAgICogRmF0YWwgQXR0cmFjdGlvbiBwYWdlIHZpZXdzIG9uIFJlYWN0IGxpZmVjeWNsZSBob29rcyAoY29tcG9uZW50RGlkTW91bnQpCiAgICAgKiB3ZSB3YW50IHRvIGF2b2lkIGRpc3BhdGNoaW5nIHRoZSBwYWdldmlldyBldmVudCBmcm9tIHRoZSBQSFAgdGVtcGxhdGUKICAgICAqIGFuZCBkZWZlciB0aGlzIHNvcnQgb2YgdHJhY2tpbmcgbG9naWMgdG8gdGhlIGZyb250IGVuZC4KICAgICAqCiAgICAgKiBUaGlzIGNoZWNrIGFsbG93cyB1cyB0byBkZWNsYXJlIGluIGEgY29udHJvbGxlciB3aGV0aGVyIG9yIG5vdCB3ZQogICAgICogd2FudCB0byBkaXNwYXRjaCB0aGF0IHByZWxpbWluYXJ5IHBhZ2V2aWV3LgogICAgICoKICAgICAqIFRoZSBwcm9wZXJ0eSBpcyBhZGRpdGl2ZSBvbmx5LCBhcyB0byBub3QgYWZmZWN0IGV4aXN0aW5nIHBhZ2V2aWV3cy4KICAgICAqLwogICAgICAgICAgICBfX2ZhLnB1c2goWyd0cmFja1BhZ2V2aWV3J10pOwogICAgCiAgICAvKioKICAgICAqIEFkZCBzZXJ2ZXIgc2lkZSBBQkxpbmNvbG4gZXhwZXJpbWVudHMgdG8gR1RNIGRhdGEgbGF5ZXIuCiAgICAgKi8KICAgIAogICAgICAgIHZhciBfZXh0ZW5kID0gZnVuY3Rpb24oKXtmb3IodmFyIHI9YXJndW1lbnRzWzBdLG49MSxlPWFyZ3VtZW50cy5sZW5ndGg7ZT5uO24rKyl7dmFyIHQ9YXJndW1lbnRzW25dO2Zvcih2YXIgYSBpbiB0KXQuaGFzT3duUHJvcGVydHkoYSkmJihyW2FdPXRbYV0pfXJldHVybiByfTsKCiAgICAgICAgdmFyIENTU19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC8nLAogICAgICAgIEpTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC8nLAogICAgICAgIElNQUdFX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL2ltYWdlc192Ni8nLAogICAgICAgIEZPTlRfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vZm9udHMvJywKICAgICAgICBTVkdfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3ZnLycsCiAgICAgICAgICAgICAgICBCVUlMRF9IQVNIID0gJ2U1ODZkJzsKCiAgICAKICAgICAgICB2YXIgdmltZW8gPSBfZXh0ZW5kKCh3aW5kb3cudmltZW8gfHwge30pLCB7ImFwcF92ZXJzaW9uIjoidjYiLCJkb21haW4iOiJ2aW1lby5jb20iLCJ1cmwiOiJ2aW1lby5jb20iLCJjdXJfdXNlciI6ZmFsc2UsIm9yaWdpbl91c2VyX2lkIjpudWxsLCJvcmlnaW5fdXNlciI6ZmFsc2UsImlzX21vYmlsZSI6ZmFsc2UsImlzX3JlY29yZF90b29sX3N1cHBvcnRlZCI6ZmFsc2V9KTsKICAgIHZpbWVvLmNvbmZpZyA9IF9leHRlbmQoKHZpbWVvLmNvbmZpZyB8fCB7fSksIHsic3RpY2t5X3RvcG5hdiI6eyJleGNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcQWJvdXRDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQWJvdXRDb250cm9sbGVyOnByb2Zlc3Npb25hbHMiLCJWaW1lb1xcQ29udHJvbGxlclxcSG9tZUNvbnRyb2xsZXI6dXBncmFkZSIsIlZpbWVvXFxDb250cm9sbGVyXFxTdG9yZUNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcVXNlclxcU2V0dGluZ3MyQ29udHJvbGxlcjp0ZWFtX21lbWJlcnMiLCJWaW1lb1xcQ29udHJvbGxlclxcVXNlclxcU2V0dGluZ3MyQ29udHJvbGxlcjpwYXNzd29yZCIsIlZpbWVvXFxDb250cm9sbGVyXFxQcm9maWxlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBTdGF0c0NvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxDbGlwXFxTZXR0aW5nc1xcRW1iZWRDb250cm9sbGVyOmVtYmVkIiwiVmltZW9cXENvbnRyb2xsZXJcXFZpZGVvTWFuYWdlckNvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9SZXZpZXdDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE1lc3NhZ2VzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxTdGF0c0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcVXBsb2FkQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxPbkRlbWFuZFxcU2V0dGluZ3NDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzQ29udHJvbGxlciJdLCJzdGlja3lfaW5jbHVkZWRfcGFnZXMiOlsiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0hvbWVQYWdlQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxTdG9ja1xcU3RvY2tGb290YWdlQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxTdG9ja1xcU3RvY2tTZWFyY2hDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0NvbGxlY3Rpb25zQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxBbGJ1bUNvbnRyb2xsZXIiXSwidG9wbmF2X3dyYXBfc2VsZWN0b3IiOiIjdG9wbmF2X291dGVyX3dyYXAiLCJjb250ZW50X3dyYXBfc2VsZWN0b3IiOiIud3JhcF9jb250ZW50In0sImxvY2FsZSI6ImVuIiwib21uaXNlYXJjaF9qd3QiOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKbGVIQWlPakUyT1Rnek5URTJOakFzSW5WelpYSmZhV1FpT201MWJHd3NJbUZ3Y0Y5cFpDSTZOVGcwTnprc0luTmpiM0JsY3lJNkluQjFZbXhwWXlCd2NtbDJZWFJsSUdSbGJHVjBaU0lzSW5SbFlXMWZkWE5sY2w5cFpDSTZiblZzYkgwLlhPSlltcWZjS2x3ZWZXZVA2WmF3SFY4ZGlXNjljTjBqQ3hZbU5CUG5rUVEiLCJvbW5pc2VhcmNoX3VzZXIiOm51bGwsImFwaV91cmwiOiJhcGkudmltZW8uY29tIiwibWFnaXN0b19hcGlfaG9zdCI6InZpbWVvLm1hZ2lzdG8uY29tIiwiaGFzX3B1YmxpY19zZWFyY2hfZGlzYWJsZWQiOmZhbHNlLCJoYXNfYXV0b19jbG9zZWRfY2FwdGlvbnMiOmZhbHNlLCJoYXNfb2NyX3NlYXJjaCI6ZmFsc2UsImhhc192aWRlb19saWJyYXJ5IjpmYWxzZSwiaGFzX2VudGVycHJpc2UiOmZhbHNlLCJoYXNfcHJlY2lzaW9uX2F3YXJlX3NlYXJjaCI6ZmFsc2UsInRlYW1fdXNlciI6bnVsbCwic2hvdWxkT3B0SW50b01hcmtldGluZyI6dHJ1ZSwic2hvdWxkU2hvd01hcmtldGluZ0NoZWNrYm94IjpmYWxzZSwiaXNSZWNvcmRUb29sU3VwcG9ydGVkIjpmYWxzZSwidGVhbSI6bnVsbCwicmVmcmVzaGVkX3NzX2xpaHAiOmZhbHNlfSk7CgogICAgICAgIHZhciBfX2kxOG5Mb2NhbGUgPSAnZW4nOwogICAgdmFyIGxvY2FsZUNvbmZpZyA9IHsKICAgICAgICBsYW5nOiAnZW4nLAogICAgICAgICdEYXRlJzogewogICAgICAgICAgICBtb250aHM6IFsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSwKICAgICAgICAgICAgbW9udGhzX2FiYnI6IFsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sCiAgICAgICAgICAgIGRheXM6IFsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSwKICAgICAgICAgICAgZGF5c19hYmJyOiBbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLAoKICAgICAgICAgICAgLy8gQ3VsdHVyZSdzIGRhdGUgb3JkZXI6IE1NL0REL1lZWVkKICAgICAgICAgICAgZGF0ZU9yZGVyOiBbJ2RhdGUnLCAnbW9udGgnLCAneWVhciddLAogICAgICAgICAgICBzaG9ydERhdGU6ICclZC8lbS8lWScsCiAgICAgICAgICAgIHNob3J0VGltZTogJyVJOiVNJXAnLAogICAgICAgICAgICBBTTogJ0FNJywKICAgICAgICAgICAgUE06ICdQTScsCiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAwLAoKICAgICAgICAgICAgLy8gRGF0ZS5FeHRyYXMKICAgICAgICAgICAgb3JkaW5hbDogZnVuY3Rpb24oZGF5T2ZNb250aCl7CiAgICAgICAgICAgICAgICByZXR1cm4gZGF5T2ZNb250aDsKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgJ0RhdGVQaWNrZXInOiB7CiAgICAgICAgICAgIHNlbGVjdF9hX3RpbWU6ICJTZWxlY3QgYSB0aW1lIiwKICAgICAgICAgICAgdXNlX21vdXNlX3doZWVsOiAiVXNlIHRoZSBtb3VzZSB3aGVlbCB0byBxdWlja2x5IGNoYW5nZSB2YWx1ZSIsCiAgICAgICAgICAgIHRpbWVfY29uZmlybV9idXR0b246ICJPSyIsCiAgICAgICAgICAgIGFwcGx5X3JhbmdlOiAiQXBwbHkiLAogICAgICAgICAgICBjYW5jZWw6ICJDYW5jZWwiLAogICAgICAgICAgICB3ZWVrOiAiV2siICAgICAgICB9LAogICAgICAgICAgICAgICAgJ051bWJlcic6IHsKICAgICAgICAgICAgZGVjaW1hbDogJy4nLAogICAgICAgICAgICBncm91cDogJywnLAogICAgICAgICAgICBjdXJyZW5jeTogewogICAgICAgICAgICAgICAgcHJlZml4OiAnJCcKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgJ0Zvcm1WYWxpZGF0b3InOiB7InJlcXVpcmVkIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iLCJyZXF1aXJlZENoayI6IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn0gICAgfTsKCiAgICB2YXIgZnVsbExvY2FsZSA9ICcnOwoKICAgIAogICAgICAgIHZhciBDb3B5ID0ge3RyYW5zbGF0ZTpmdW5jdGlvbih0LGksdSl7dmFyIGU9J29iamVjdCchPXR5cGVvZiB0aGlzLmRpY3RbdF0/dGhpcy5kaWN0W3RdOmk/dGhpcy5kaWN0W3RdLnBsdXJhbDp0aGlzLmRpY3RbdF0uc2luZ3VsYXI7cmV0dXJuJ29iamVjdCc9PXR5cGVvZiB1JiYoZT10aGlzLnN1YnN0aXR1dGUoZSx1KSksZX0sc3Vic3RpdHV0ZTpmdW5jdGlvbih0LGkpe3JldHVybiB2b2lkIDAhPT10LnN1YnN0aXR1dGU/dC5zdWJzdGl0dXRlKGkpOnQucmVwbGFjZSgvXFw/XHsoW157fV0rKVx9L2csZnVuY3Rpb24odCx1KXtyZXR1cm4nXFwnPT10LmNoYXJBdCgwKT90LnNsaWNlKDEpOm51bGwhPWlbdV0/aVt1XTonJ30pfSxkaWN0Ont9fTsKICAgIENvcHkuZGljdCA9IHsiZGlkX3lvdV9tZWFuX2VtYWlsIjoiRGlkIHlvdSBtZWFuIDxlbT57U1VHR0VTVH08XC9lbT4/IiwiZW1haWxfcGFzc3dvcmRfbWlzbWF0Y2giOiJFbWFpbCBhbmQgcGFzc3dvcmQgZG8gbm90IG1hdGNoIiwib29wc190cnlfYWdhaW4iOiJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2Fpbi4iLCJqdXN0X25vdyI6Imp1c3Qgbm93Iiwic2Vjb25kc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IHNlY29uZCBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IHNlY29uZHMgYWdvIn0sIm1pbnV0ZXNfYWdvIjp7InNpbmd1bGFyIjoie0NPVU5UfSBtaW51dGUgYWdvIiwicGx1cmFsIjoie0NPVU5UfSBtaW51dGVzIGFnbyJ9LCJob3Vyc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IGhvdXIgYWdvIiwicGx1cmFsIjoie0NPVU5UfSBob3VycyBhZ28ifSwib3Blbl9jb21tZW50X2JveCI6IkFkZCBuZXcgY29tbWVudCBpbnN0ZWFkICZyYXF1bzsiLCJ1cmxfdW5hdmFpbGFibGUiOiJTb3JyeSwgdGhpcyB1cmwgaXMgdW5hdmFpbGFibGUuIiwidW5zYXZlZF9jaGFuZ2VzX2dlbmVyaWMiOiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMsIGFyZSB5b3Ugc3VyZSB5b3Ugd2lzaCB0byBsZWF2ZT8iLCJhZGQiOiJBZGQiLCJyZW1vdmUiOiJSZW1vdmUiLCJzZWxlY3QiOiJTZWxlY3QiLCJub19mb2xsb3dlcnNfZm9yX2xldHRlciI6IllvdSBkb24mcnNxdW87dCBmb2xsb3cgYW55b25lIHRoYXQgYmVnaW4gd2l0aCB0aGUgbGV0dGVyICZsZHF1bzt7UEFHRV9MRVRURVJ9JnJkcXVvOyIsInNoYXJlX2xpbWl0X3JlYWNoZWQiOiJZb3UgaGF2ZSByZWFjaGVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VycyB0byBzaGFyZSB3aXRoLiIsImF0X2xlYXN0X29uZSI6IlRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIHVzZXIuIiwiYXZhaWxhYmxlIjoiQXZhaWxhYmxlIiwidW5hdmFpbGFibGUiOiJVbmF2YWlsYWJsZSIsImJyb3dzZV9lcnJvcl9nZW5lcmljIjoiU29ycnksIHRoZXJlIHdhcyBhbiBlcnJvciIsImJyb3dzZV9lcnJvcl9ub192aWRlb3MiOiJTb3JyeSwgbm8gdmlkZW9zIGZvdW5kIiwiZm9sbG93IjoiRm9sbG93IiwiZm9sbG93aW5nIjoiRm9sbG93aW5nIiwidW5mb2xsb3ciOiJVbmZvbGxvdyIsInVuZm9sbG93aW5nIjoiVW5mb2xsb3dpbmciLCJjb3VudF9jb21tZW50cyI6eyJzaW5ndWxhciI6IntDT1VOVH0gY29tbWVudCIsInBsdXJhbCI6IntDT1VOVH0gY29tbWVudHMifSwiZmlyc3RfY29tbWVudCI6IkJlIHRoZSBmaXJzdCB0byBjb21tZW50XHUyMDI2Iiwibm9fY29tbWVudHNfZm9yX3lvdSI6IkZvcmJpZGRlbi4gWW91IGNhbm5vdCBwb3N0IGNvbW1lbnRzIG9uIHRoaXMgcGFnZS4iLCJvb3BzIjoiT29wcyEiLCJwbGF5ZXJfdHJ5X2FnYWluIjoiVGhhdCB3YXNuJ3Qgc3VwcG9zZWQgdG8gaGFwcGVuLiBQbGVhc2UgdHJ5IGFnYWluIGluIGEgZmV3IG1pbnV0ZXMuIiwiZHVyYXRpb25faW5wdXRfbWluX2R1cmF0aW9uIjoiVGhlIGR1cmF0aW9uIGNhbm5vdCBiZSBsZXNzIHRoYW4ge01JTl9EVVJBVElPTn0uIiwiZHVyYXRpb25faW5wdXRfbWF4X2R1cmF0aW9uIjoiVGhlIGR1cmF0aW9uIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4ge01BWF9EVVJBVElPTn0uIiwiZHVyYXRpb25faW5wdXRfaW52YWxpZF9jaGFyYWN0ZXJzIjoiMC05IGFuZCA6IGFyZSB0aGUgb25seSBhY2NlcHRhYmxlIGlucHV0cy4iLCJjbG9zZSI6IkNsb3NlIiwiZXhwYW5kIjoiRXhwYW5kIiwibG9hZGluZyI6IkxvYWRpbmcuLi4iLCJ0b3AiOiJ0b3AiLCJhZHZhbmNlZF9zZWFyY2giOiJBZHZhbmNlZCBTZWFyY2giLCJub19zdWdnZXN0aW9ucyI6Ik5vIHN1Z2dlc3Rpb25zIiwicmVjZW50X3NlYXJjaGVzIjoiUmVjZW50IFNlYXJjaGVzIiwic2VhcmNoX2FsbCI6IlNlYXJjaCBBbGwgb2YgVmltZW8iLCJlbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBlbWFpbCBhbmQgcGFzc3dvcmQiLCJlbWFpbF9hZGRyZXNzIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcyIsIm5hbWVfZW1haWxfYW5kX3Bhc3N3b3JkIjoiUGxlYXNlIGVudGVyIHlvdXIgbmFtZSwgZW1haWwsIGFuZCBwYXNzd29yZCIsImVudGVyX3ZhbGlkX290cCI6IlBsZWFzZSBlbnRlciBhIHZhbGlkIGNvZGUifTsKPC9zY3JpcHQ+CgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9wbGF5ZXJfbWFuYWdlcl83ZTY3YmQxNTA0ZWQ4ZGIxMGI0NDk2ZWVhZjM4ZGJmMC5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBpZiAodHlwZW9mIHBsYXllckFzc2V0VXJscyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsYXllck1hbmFnZXIucnVuKHBsYXllckFzc2V0VXJscyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgPC9zY3JpcHQ+CgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvY2xpcF9jb21iaW5lZF9mYjhlZDk3YmI5ODEzM2I1MWY4MWMwZTU2ZmFiMDBhYy5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3RvcG5hdl9jYXJ0X2J1dHRvbl84ZGUwMGVmNWI0MjBmZjAzNDkyODE3NTBlNmY1NTI0Yy5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2NsaXAuY2VjMmNlOWI5NjU2NDYyOGI0ZjcuYnVuZGxlLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9jbGlwX2JldGFfbGlic19hc3luY19jb21iaW5lZF9kYjY3OTNjN2YzYWE0OWQzMDI5ZGJhYzQ1ZGU3OGQzZi5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2NyZWF0ZV9mYWNlYm9va19oZWFkZXIuZDJhY2FhN2ExNmY2N2FhMmJjM2QuYnVuZGxlLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0PgogICAgICAgIGZ1bmN0aW9uIG9uVmltZW9Eb21SZWFkeShlKSB7CiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXZpbWVvLmJ5cGFzc19wbGF5ZXJfcmVzcG9uc2l2ZV9kZWxlZ2F0ZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzID0gdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzIHx8IHt9OwogICAgICAgICAgICAgICAgICAgICAgICB2aW1lby5wbGF5ZXJfcmVzcG9uc2l2ZV9kZWxlZ2F0ZXMud2lsbE9wZW5TaGFyZU92ZXJsYXkgPSB2aW1lby5wbGF5ZXJfcmVzcG9uc2l2ZV9kZWxlZ2F0ZXMud2lsbE9wZW5TaGFyZU92ZXJsYXkgfHwgZnVuY3Rpb24oaWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGF5ZXJNYW5hZ2VyLnBhdXNlQWxsUGxheWVycygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpbWVvLnNoYXJlLlBvcHVwKGlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgICAgICAgICAgdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzLndpbGxPcGVuTG9naW5Gb3JtID0gdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzLndpbGxPcGVuTG9naW5Gb3JtIHx8IGZ1bmN0aW9uKGlkLCBjb250ZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZpbWVvLk1vZGFsICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsYXllck1hbmFnZXIucGF1c2VBbGxQbGF5ZXJzKCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpbWVvLlNlc3Npb24uY3JlYXRlKHsgcGxheWVyOiAxLCBjbGlwX2lkOiBpZCwgY29udGV4dDogY29udGV4dCB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpbWVvLlNlc3Npb24uY3JlYXRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoUGxheWVyTWFuYWdlcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGxheWVyTWFuYWdlci5zZXREZWZhdWx0RGVsZWdhdGUodmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYgKFBsYXllck1hbmFnZXIpIHsKICAgICAgICAgICAgICAgICAgICBQbGF5ZXJNYW5hZ2VyLmRpc3BhdGNoUmVhZHlTaWduYWxzKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkucmVhZHkob25WaW1lb0RvbVJlYWR5KTsKICAgICAgICAgICAgPC9zY3JpcHQ+CgogICAgPC9ib2R5Pgo8L2h0bWw+Cg== + recorded_at: Thu, 26 Oct 2023 20:09:29 GMT +- request: + method: head + uri: https://vimeo.com/7848846 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 26 Oct 2023 20:09:30 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 20:19:30 GMT + X-Vimeo-Device: + - d + X-Ua-Compatible: + - IE=edge + X-Xss-Protection: + - 1; mode=block + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - sameorigin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Content-Security-Policy-Report-Only: + - 'default-src https: data: blob: wss: ''unsafe-inline'' ''unsafe-eval''; report-uri + /_csp' + X-Bapp-Server: + - pweb-7cc5595cc8-khsfj + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-16 + X-Backend-Proxy: + - webproxy17 + Age: + - '0' + X-Served-By: + - cache-iad-kjyo7100043-IAD, cache-mrs10522-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350970.000315,VS0,VE338 + Vary: + - User-Agent,Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=ecyYS7C9hVdC61ZJGsZ3o5xzbAGPyeKPz43RLQ6N7lM-1698350970-0-ARYYuzGxCBWUPyBfVkEbNB6Z+MtKjJEZD9Fws4EYitzV0hFHmRIZsDC88YLbQEEs0PpXDVfyv114PxRhQYV1yFM=; + path=/; expires=Thu, 26-Oct-23 20:39:30 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c5565a5ff5076f-MRS + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:09:30 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_13_1_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_13_1_1.yml new file mode 100644 index 00000000..86ca7ba8 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_13_1_1.yml @@ -0,0 +1,135 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.vimeo.com/videos/7848846 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Authorization: + - bearer vimeo_access_token + Accept: + - application/vnd.vimeo.*+json;version=3.2 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 429 + message: Too Many Requests + headers: + Date: + - Thu, 26 Oct 2023 20:09:45 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 08:09:45 GMT + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Vimeo-Device: + - d + X-Varnish-Esi: + - '0' + X-Frame-Options: + - sameorigin + X-Bapp-Server: + - api-8bf794994-9gbg9 + X-Backend-Server: + - api-k8s + Accept-Ranges: + - bytes + Via: + - 1.1 varnish, 1.1 varnish + X-Served-By: + - cache-iad-kiad7000159-IAD, cache-mrs10534-MRS + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698350986.621390,VS0,VE128 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=NhsfXL6DudilygoE5iaW.m9cwkJhzKzzpkaNdI2XOc8-1698350985-0-Af8IinbagVwKxF4re0zr9AjcXAxIyvepc2dLLkXo2eyEmtZtiYwtQikJqfaSkftWkZFydB0w59V9qL/JxNTLXSg=; + path=/; expires=Thu, 26-Oct-23 20:39:45 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c556bc0b48076f-MRS + body: + encoding: UTF-8 + string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have + been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers + have detected a high number of errors from your connection. To continue, please + verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" + recorded_at: Thu, 26 Oct 2023 20:09:45 GMT +recorded_with: VCR 6.2.0 From 3ed4a786190567f1a28ab2af7eb8c76c1e552ca5 Mon Sep 17 00:00:00 2001 From: Hans Lemuet Date: Thu, 26 Oct 2023 22:26:47 +0200 Subject: [PATCH 3/6] Update VCR cassettes --- .../with_video_7848846/stats/1_13_1_1.yml | 247 ------------------ .../with_video_7848846/stats/1_14_1_1.yml | 247 ++++++++++++++++++ .../with_video_7848846/stats/2_13_1_1.yml | 135 ---------- .../with_video_7848846/stats/2_14_1_1.yml | 74 ++++++ spec/lib/video_info/providers/vimeo_spec.rb | 24 +- 5 files changed, 333 insertions(+), 394 deletions(-) delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_13_1_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_14_1_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_13_1_1.yml create mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_14_1_1.yml diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_13_1_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_13_1_1.yml deleted file mode 100644 index 9fd7e565..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_13_1_1.yml +++ /dev/null @@ -1,247 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/7848846 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 200 - message: OK - headers: - Date: - - Thu, 26 Oct 2023 20:09:29 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 20:15:20 GMT - X-Vimeo-Device: - - d - X-Ua-Compatible: - - IE=edge - X-Xss-Protection: - - 1; mode=block - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - sameorigin - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Content-Security-Policy-Report-Only: - - 'default-src https: data: blob: wss: ''unsafe-inline'' ''unsafe-eval''; report-uri - /_csp' - X-Bapp-Server: - - pweb-7cc5595cc8-jszb8 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '1' - X-Vserver: - - web-varnish-prod-varnish-15 - X-Backend-Proxy: - - webproxy16 - Age: - - '0' - X-Served-By: - - cache-iad-kjyo7100043-IAD, cache-mrs10566-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350969.453777,VS0,VE155 - Vary: - - User-Agent,Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=7Sv1a3K937tVywN.4py7CzPi8F1S0LyHa2DSVTP81QI-1698350969-0-AV2Mny/2UUVwPWVeUyO5k2wy2iATXl7k9aCoeUxXvKFMRJHSTmh3oYWvLcJ176HKutF/we8TRsMzZjJJ7sZ50K8=; - path=/; expires=Thu, 26-Oct-23 20:39:29 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c55656fa0b73af-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:29 GMT -- request: - method: get - uri: https://vimeo.com/7848846 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 200 - message: OK - headers: - Date: - - Thu, 26 Oct 2023 20:09:29 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 20:15:21 GMT - X-Vimeo-Device: - - d - X-Ua-Compatible: - - IE=edge - X-Xss-Protection: - - 1; mode=block - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - sameorigin - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Content-Security-Policy-Report-Only: - - 'default-src https: data: blob: wss: ''unsafe-inline'' ''unsafe-eval''; report-uri - /_csp' - X-Bapp-Server: - - pweb-7cc5595cc8-g7clw - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '1' - X-Vserver: - - web-varnish-prod-varnish-15 - X-Backend-Proxy: - - webproxy16 - Age: - - '0' - X-Served-By: - - cache-iad-kjyo7100043-IAD, cache-mrs10545-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350970.710997,VS0,VE144 - Vary: - - User-Agent,Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=G_r1nUT3ZdoMkkGdEcSRmep82txzSAJoIIEb.Bl2i.o-1698350969-0-ASLyGCFCVVNZ7be0G9PWgA7wwqeG4MG2xoeFHDdIkPx5U29T1+dSmpljPlgMFsI60iq7V+7DIgJ9ZGmAy8hrDjI=; - path=/; expires=Thu, 26-Oct-23 20:39:29 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556589a880fce-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iVmltZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vdmltZW8uY29tLzc4NDg4NDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ2aWRlby5vdGhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJJS09OUyAtIFNMT1cgTElHSFQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iQXJ0aXN0OiBJS09OUy4gVGl0bGU6IFNMT1cgTElHSFQuIENyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uIExhYmVsOiBTRVJWSUNFLiB3d3cuc3J2Yy5zZSAgQWxidW0gJnF1b3Q7SWtvbnMmcXVvdDsgb3V0IG5vdyBDRC9MUC9TdHJlYW0gZnJvbSBTZXJ2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXBkYXRlZF90aW1lIiBjb250ZW50PSIyMDIyLTA3LTAxVDA2OjA1OjEwLTA0OjAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vdmlkZW8vMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kP2Y9d2VicCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOnNlY3VyZV91cmwiIGNvbnRlbnQ9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vdmlkZW8vMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kP2Y9d2VicCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOnR5cGUiIGNvbnRlbnQ9ImltYWdlL3dlYnAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTp3aWR0aCIgY29udGVudD0iMTI4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOmhlaWdodCIgY29udGVudD0iOTYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0iYWw6aW9zOmFwcF9uYW1lIiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmlvczphcHBfc3RvcmVfaWQiIGNvbnRlbnQ9IjQyNTE5NDc1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmlvczp1cmwiIGNvbnRlbnQ9InZpbWVvOi8vYXBwLnZpbWVvLmNvbS92aWRlb3MvNzg0ODg0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmFuZHJvaWQ6YXBwX25hbWUiIGNvbnRlbnQ9IlZpbWVvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0iYWw6YW5kcm9pZDpwYWNrYWdlIiBjb250ZW50PSJjb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmFuZHJvaWQ6dXJsIiBjb250ZW50PSJ2aW1lbzovL2FwcC52aW1lby5jb20vdmlkZW9zLzc4NDg4NDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJhbDp3ZWI6c2hvdWxkX2ZhbGxiYWNrIiBjb250ZW50PSJ0cnVlIj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQXJ0aXN0OiBJS09OUy4gVGl0bGU6IFNMT1cgTElHSFQuIENyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uIExhYmVsOiBTRVJWSUNFLiB3d3cuc3J2Yy5zZSAgQWxidW0gJnF1b3Q7SWtvbnMmcXVvdDsgb3V0IG5vdyBDRC9MUC9TdHJlYW0gZnJvbSBTZXJ2aWNlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InBsYXllciI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJAdmltZW8iPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6dGl0bGUiIGNvbnRlbnQ9IklLT05TIC0gU0xPVyBMSUdIVCI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iQXJ0aXN0OiBJS09OUy4gVGl0bGU6IFNMT1cgTElHSFQuIENyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uIExhYmVsOiBTRVJWSUNFLiB3d3cuc3J2Yy5zZSAgQWxidW0gJnF1b3Q7SWtvbnMmcXVvdDsgb3V0IG5vdyBDRC9MUC9TdHJlYW0gZnJvbSBTZXJ2aWNlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL3ZpZGVvLzM1MDE0NTg0LTQ0NjY1NjQyMWE5MzVmOWYyNTYzNzVmMWZhZTJkYzhhMmQ1MDAzMDMwOTk5YTIzNTYxYTc2YTRhZDVjZTFiZjEtZD9mPXdlYnAiPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6cGxheWVyIiBjb250ZW50PSJodHRwczovL3BsYXllci52aW1lby5jb20vdmlkZW8vNzg0ODg0Nj9oPTQ2NmViZDJmMzMiPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6cGxheWVyOndpZHRoIiBjb250ZW50PSIxMjgwIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnBsYXllcjpoZWlnaHQiIGNvbnRlbnQ9Ijk2MCI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJAdmltZW8iPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOm5hbWU6aXBob25lIiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6aWQ6aXBob25lIiBjb250ZW50PSI0MjUxOTQ3NTkiPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOnVybDppcGhvbmUiIGNvbnRlbnQ9InZpbWVvOi8vYXBwLnZpbWVvLmNvbS92aWRlb3MvNzg0ODg0NiI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6bmFtZTppcGFkIiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6aWQ6aXBhZCIgY29udGVudD0iNDI1MTk0NzU5Ij4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDp1cmw6aXBhZCIgY29udGVudD0idmltZW86Ly9hcHAudmltZW8uY29tL3ZpZGVvcy83ODQ4ODQ2Ij4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDpuYW1lOmdvb2dsZXBsYXkiIGNvbnRlbnQ9IlZpbWVvIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDppZDpnb29nbGVwbGF5IiBjb250ZW50PSJjb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6dXJsOmdvb2dsZXBsYXkiIGNvbnRlbnQ9InZpbWVvOi8vYXBwLnZpbWVvLmNvbS92aWRlb3MvNzg0ODg0NiI+CiAgICAKCgoKICAgICAgICAgICAgICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYXBpL29lbWJlZC5qc29uP3VybD1odHRwcyUzQSUyRiUyRnZpbWVvLmNvbSUyRjc4NDg4NDYlM0ZoJTNENDY2ZWJkMmYzMyIgdHlwZT0iYXBwbGljYXRpb24vanNvbitvZW1iZWQiIHRpdGxlPSJJS09OUyAtIFNMT1cgTElHSFQiPgogICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2FwaS9vZW1iZWQueG1sP3VybD1odHRwcyUzQSUyRiUyRnZpbWVvLmNvbSUyRjc4NDg4NDYlM0ZoJTNENDY2ZWJkMmYzMyIgdHlwZT0idGV4dC94bWwrb2VtYmVkIiB0aXRsZT0iSUtPTlMgLSBTTE9XIExJR0hUIj4KICAgICAgICAgICAgICAgIDxsaW5rIHJlbD0icGluZ2JhY2siIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL19waW5nYmFjayI+CiAgICAgICAgICAgICAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vNzg0ODg0NiI+CiAgICAgICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uLXByZWNvbXBvc2VkIiBocmVmPSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xODAiPgoKPGxpbmsgcmVsPSJtYXNrLWljb24iIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3ZnL2xlZ2FjeV92aWV3X3N1cHBvcnQvaXJpc19pY29uX3ZfNjQuc3ZnP2IwNmM0ZTFlZjEzZTdiZTczMDM0NjQ3OTYxMjE4ZjJhNTkwNDFhNGYiIGNvbG9yPSIjMTcyNzJlIj4KCiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2L2Zhdmljb24uaWNvP2IwNmM0ZTFlZjEzZTdiZTczMDM0NjQ3OTYxMjE4ZjJhNTkwNDFhNGYiIGRhdGEtcGxheT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BsYXlfMzIiIGRhdGEtcGF1c2U9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9wYXVzZV8zMiI+Cgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVJbWFnZSIgY29udGVudD0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL21haW4tdG91Y2hfMTQ0Ij4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlQ29sb3IiIGNvbnRlbnQ9IiMwMGFkZWYiPgogICAgICAgIDx0aXRsZT5JS09OUyAtIFNMT1cgTElHSFQgb24gVmltZW88L3RpdGxlPgogICAgICAgIDxzdHlsZT4KICAjb3Qtc2RrLWJ0biB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KPC9zdHlsZT4KPHNjcmlwdD4KICAoZnVuY3Rpb24oKSB7CiAgICBmdW5jdGlvbiBpc0NyYXdsZXIoKSB7CiAgICAgIHZhciBjcmF3bGVyVUEgPSBbCiAgICAgICAgJ2Fkc2JvdC1nb29nbGUnLAogICAgICAgICdhcHBsZWJvdCcsCiAgICAgICAgJ2JhaWR1c3BpZGVyJywKICAgICAgICAnYmluZ2JvdCcsCiAgICAgICAgJ2JsZWtrb2JvdCcsCiAgICAgICAgJ0VtYmVkbHknLAogICAgICAgICdmYWNlYm9va2V4dGVybmFsaGl0JywKICAgICAgICAnRmFjZWJvdCcsCiAgICAgICAgJ2ZlZWRmZXRjaGVyLWdvb2dsZScsCiAgICAgICAgJ2ZlZWRseScsCiAgICAgICAgJ0ZsaXBib2FyZFByb3h5JywKICAgICAgICAnZ29vZ2xlIHdlYiBwcmV2aWV3JywKICAgICAgICAnZ29vZ2xlYm90JywKICAgICAgICAnZ29vZ2xlYm90LW5ld3MnLAogICAgICAgICdnb29nbGUtaW5zcGVjdGlvbnRvb2wnLAogICAgICAgICdnb29nbGVvdGhlcicsCiAgICAgICAgJ0dyYXBlc2hvdENyYXdsZXInLAogICAgICAgICdsaW5rZWRpbmJvdCcsCiAgICAgICAgJ21haWwucnVfYm90JywKICAgICAgICAnbWVkaWFwYXJ0bmVycy1nb29nbGUnLAogICAgICAgICdtc25ib3RfbW9iaWxlJywKICAgICAgICAnbXNuYm90JywKICAgICAgICAnbXNuYm90JywKICAgICAgICAncGludGVyZXN0JywKICAgICAgICAnU2V6bmFtJywKICAgICAgICAnU2t5cGVVcmlQcmV2aWV3JywKICAgICAgICAnc2x1cnAnLAogICAgICAgICdzdG9yZWJvdC1nb29nbGUnLAogICAgICAgICdzdXBlcmZlZWRyIGJvdCcsCiAgICAgICAgJ3R1bWJscicsCiAgICAgICAgJ3R3aXR0ZXJib3QnLAogICAgICAgICd5YW5kZXgnLAogICAgICAgICdwcmVyZW5kZXInCiAgICAgIF07CiAgICAgIGNvbnN0IHJlZ0V4ID0gbmV3IFJlZ0V4cCgKICAgICAgICBgKCR7Y3Jhd2xlclVBLmpvaW4oJ3wnKS5yZXBsYWNlKCcuJywgJ1xcLicpLnJlcGxhY2UoJy0nLCAnXFwtJyl9KWAsCiAgICAgICAgJ2knLAogICAgICApOwoKICAgICAgcmV0dXJuICEhd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2gocmVnRXgpOwogICAgfQoKICAgIGZ1bmN0aW9uIGFkZFNjcmlwdChzcmMsIGRhdGFTZXQpIHsKICAgICAgdmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgc2NyaXB0RWxlbWVudC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICAgIHNjcmlwdEVsZW1lbnQuc3JjID0gc3JjOwoKICAgICAgaWYgKGRhdGFTZXQpIHsKICAgICAgICBPYmplY3Qua2V5cyhkYXRhU2V0KS5mb3JFYWNoKChrZXkpID0+IHsKICAgICAgICAgIHNjcmlwdEVsZW1lbnQuZGF0YXNldFtrZXldID0gZGF0YVNldFtrZXldOwogICAgICAgIH0pOwogICAgICB9CgogICAgICB2YXIgZmlyc3RTY3JpcHQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07CiAgICAgIGlmIChmaXJzdFNjcmlwdCkgewogICAgICAgIGZpcnN0U2NyaXB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNjcmlwdEVsZW1lbnQsIGZpcnN0U2NyaXB0KTsKICAgICAgfQogICAgfQoKICAgIGlmIChpc0NyYXdsZXIoKSkgcmV0dXJuOwoKICAgICAgICBhZGRTY3JpcHQoCiAgICAgICdodHRwczovL2Nkbi5jb29raWVsYXcub3JnL3NjcmlwdHRlbXBsYXRlcy9vdFNES1N0dWIuanMnLCB7CiAgICAgICAgZG9tYWluU2NyaXB0OiAnZDMyNzBmMWYtMjRmMy00NDJhLWI4ZWUtZTY2ZjQyYjNiYjE5JywKICAgICAgICBkb2N1bWVudExhbmd1YWdlOiAndHJ1ZScKICAgICAgfQogICAgKTsKICB9KSgpOwoKICBmdW5jdGlvbiBPcHRhbm9uV3JhcHBlcigpIHsKICAgIC8qKgogICAgICogU2VuZGluZyBsb2NhdGlvbiBkYXRhIGZvciBibG9ja2luZyBHVE0gY29va2llcwogICAgICovCiAgICBvbmVUcnVzdFRyaWdnZXJlZCA9IHRydWU7CiAgICB2YXIgbG9jYXRpb24gPSBPbmVUcnVzdC5nZXRHZW9sb2NhdGlvbkRhdGEoKTsKICAgIGlmKHdpbmRvdyAmJiB3aW5kb3cuX2d0bSkgewogICAgICB3aW5kb3cuX2d0bS5wdXNoKGxvY2F0aW9uKTsKICAgIH0KICAgIC8qKgogICAgICogVGhpcyBpcyBuZWVkZWQgaW4gY2FzZSB0aGUgc2NyaXB0cyBsb2FkcyBiZWZvcmUgdGhlIG9uZXRydXN0IGJ0biBsb2FkcwogICAgICovCiAgICBpZihsb2NhdGlvbiAmJiBsb2NhdGlvbi5jb3VudHJ5ID09PSAnRlInICYmIGRvY3VtZW50LmhlYWQpIHsKICAgICAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CiAgICAgIHZhciBzdHlsZXNoZWV0ID0gc3R5bGUuc2hlZXQ7CiAgICAgIGlmIChzdHlsZXNoZWV0KSB7CiAgICAgICAgc3R5bGVzaGVldC5pbnNlcnRSdWxlKCcjb3Qtc2RrLWJ0biB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9Jyk7CiAgICAgIH0KICAgIH0KICB9Cjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIC8vIEZpcnN0IElucHV0IERlbGF5IHRyYWNraW5nLiBIaWdoIHByaW9yaXR5IGxvYWRpbmcgdG8gbm90IG1pc3MgZXZlbnQKICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0dvb2dsZUNocm9tZUxhYnMvZmlyc3QtaW5wdXQtZGVsYXkvYmxvYi9tYXN0ZXIvZGlzdC9maXJzdC1pbnB1dC1kZWxheS5taW4uanMKICAgICAgICAgICAgIWZ1bmN0aW9uKG4sZSl7dmFyIHQsbyxpLGM9W10sZj17cGFzc2l2ZTohMCxjYXB0dXJlOiEwfSxyPW5ldyBEYXRlLGE9InBvaW50ZXJ1cCIsdT0icG9pbnRlcmNhbmNlbCI7ZnVuY3Rpb24gcChuLGMpe3R8fCh0PWMsbz1uLGk9bmV3IERhdGUsdyhlKSxzKCkpfWZ1bmN0aW9uIHMoKXtvPj0wJiZvPGktciYmKGMuZm9yRWFjaChmdW5jdGlvbihuKXtuKG8sdCl9KSxjPVtdKX1mdW5jdGlvbiBsKHQpe2lmKHQuY2FuY2VsYWJsZSl7dmFyIG89KHQudGltZVN0YW1wPjFlMTI/bmV3IERhdGU6cGVyZm9ybWFuY2Uubm93KCkpLXQudGltZVN0YW1wOyJwb2ludGVyZG93biI9PXQudHlwZT9mdW5jdGlvbih0LG8pe2Z1bmN0aW9uIGkoKXtwKHQsbykscigpfWZ1bmN0aW9uIGMoKXtyKCl9ZnVuY3Rpb24gcigpe2UoYSxpLGYpLGUodSxjLGYpfW4oYSxpLGYpLG4odSxjLGYpfShvLHQpOnAobyx0KX19ZnVuY3Rpb24gdyhuKXtbImNsaWNrIiwibW91c2Vkb3duIiwia2V5ZG93biIsInRvdWNoc3RhcnQiLCJwb2ludGVyZG93biJdLmZvckVhY2goZnVuY3Rpb24oZSl7bihlLGwsZil9KX13KG4pLHNlbGYucGVyZk1ldHJpY3M9c2VsZi5wZXJmTWV0cmljc3x8e30sc2VsZi5wZXJmTWV0cmljcy5vbkZpcnN0SW5wdXREZWxheT1mdW5jdGlvbihuKXtjLnB1c2gobikscygpfX0oYWRkRXZlbnRMaXN0ZW5lcixyZW1vdmVFdmVudExpc3RlbmVyKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgLy8gQ3JlYXRlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZm9yIHRyYWNraW5nIFRUSQogICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0dvb2dsZUNocm9tZUxhYnMvdHRpLXBvbHlmaWxsCiAgICAgICAgICAhZnVuY3Rpb24oKXtpZignUGVyZm9ybWFuY2VMb25nVGFza1RpbWluZycgaW4gd2luZG93KXt2YXIgZz13aW5kb3cuX190dGk9e2U6W119OwogICAgICAgICAgZy5vPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGZ1bmN0aW9uKGwpe2cuZT1nLmUuY29uY2F0KGwuZ2V0RW50cmllcygpKX0pOwogICAgICAgICAgZy5vLm9ic2VydmUoe2VudHJ5VHlwZXM6Wydsb25ndGFzayddfSl9fSgpOwogICAgICAgIDwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KaWYod2luZG93JiZ3aW5kb3cuZmV0Y2gmJi0xPT09d2luZG93LmZldGNoLnRvU3RyaW5nKCkuaW5kZXhPZigiUHJvZmlsaW5nIikmJi0xIT09ZG9jdW1lbnQuY29va2llLmluZGV4T2YoImxvZ3M9MSIpKXtjb25zdCBlPXdpbmRvdy5mZXRjaCxuPVsiYXBpLnZpbWVvLmNvbSIsInZpbWVvLmNvbSJdO3dpbmRvdy5mZXRjaD0oYXN5bmMoLi4udCk9PntsZXRbaSxvXT10O2NvbnN0IGQ9bmV3IFVSTChpLGRvY3VtZW50LmJhc2VVUkkpLmhvc3Q7cmV0dXJuIG8mJm8uaGVhZGVycyYmbi5pbmNsdWRlcyhkKSYmKG8uaGVhZGVycy5Qcm9maWxpbmc9MSksYXdhaXQgZShpLG8pfSl9Cjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KO3dpbmRvdy5OUkVVTXx8KE5SRVVNPXt9KTtOUkVVTS5pbml0PXtwcml2YWN5Ontjb29raWVzX2VuYWJsZWQ6dHJ1ZX19Owp3aW5kb3cuTlJFVU18fChOUkVVTT17fSksX19ucl9yZXF1aXJlPWZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKG4pe2lmKCFlW25dKXt2YXIgbz1lW25dPXtleHBvcnRzOnt9fTt0W25dWzBdLmNhbGwoby5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBvPXRbbl1bMV1bZV07cmV0dXJuIHIob3x8ZSl9LG8sby5leHBvcnRzKX1yZXR1cm4gZVtuXS5leHBvcnRzfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBfX25yX3JlcXVpcmUpcmV0dXJuIF9fbnJfcmVxdWlyZTtmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKylyKG5bb10pO3JldHVybiByfSh7MTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7dHJ5e2MuY29uc29sZSYmY29uc29sZS5sb2codCl9Y2F0Y2goZSl7fX12YXIgbyxpPXQoImVlIiksYT10KDI4KSxjPXt9O3RyeXtvPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJfX25yX2ZsYWdzIikuc3BsaXQoIiwiKSxjb25zb2xlJiYiZnVuY3Rpb24iPT10eXBlb2YgY29uc29sZS5sb2cmJihjLmNvbnNvbGU9ITAsby5pbmRleE9mKCJkZXYiKSE9PS0xJiYoYy5kZXY9ITApLG8uaW5kZXhPZigibnJfZGV2IikhPT0tMSYmKGMubnJEZXY9ITApKX1jYXRjaChzKXt9Yy5uckRldiYmaS5vbigiaW50ZXJuYWwtZXJyb3IiLGZ1bmN0aW9uKHQpe3IodC5zdGFjayl9KSxjLmRldiYmaS5vbigiZm4tZXJyIixmdW5jdGlvbih0LGUsbil7cihuLnN0YWNrKX0pLGMuZGV2JiYocigiTlIgQUdFTlQgSU4gREVWRUxPUE1FTlQgTU9ERSIpLHIoImZsYWdzOiAiK2EoYyxmdW5jdGlvbih0LGUpe3JldHVybiB0fSkuam9pbigiLCAiKSkpfSx7fV0sMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scixjKXt0cnl7bD9sLT0xOm8oY3x8bmV3IFVuY2F1Z2h0RXhjZXB0aW9uKHQsZSxuKSwhMCl9Y2F0Y2godSl7dHJ5e2koImllcnIiLFt1LHMubm93KCksITBdKX1jYXRjaChkKXt9fXJldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBmJiZmLmFwcGx5KHRoaXMsYShhcmd1bWVudHMpKX1mdW5jdGlvbiBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbil7dGhpcy5tZXNzYWdlPXR8fCJVbmNhdWdodCBlcnJvciB3aXRoIG5vIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24iLHRoaXMuc291cmNlVVJMPWUsdGhpcy5saW5lPW59ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPWU/bnVsbDpzLm5vdygpO2koImVyciIsW3Qsbl0pfXZhciBpPXQoImhhbmRsZSIpLGE9dCgyOSksYz10KCJlZSIpLHM9dCgibG9hZGVyIiksdT10KCJnb3MiKSxmPXdpbmRvdy5vbmVycm9yLGQ9ITEscD0ibnJAc2VlbkVycm9yIixsPTA7cy5mZWF0dXJlcy5lcnI9ITAsdCgxKSx3aW5kb3cub25lcnJvcj1yO3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2goaCl7InN0YWNrImluIGgmJih0KDEzKSx0KDEyKSwiYWRkRXZlbnRMaXN0ZW5lciJpbiB3aW5kb3cmJnQoNikscy54aHJXcmFwcGFibGUmJnQoMTQpLGQ9ITApfWMub24oImZuLXN0YXJ0IixmdW5jdGlvbih0LGUsbil7ZCYmKGwrPTEpfSksYy5vbigiZm4tZXJyIixmdW5jdGlvbih0LGUsbil7ZCYmIW5bcF0mJih1KG4scCxmdW5jdGlvbigpe3JldHVybiEwfSksdGhpcy50aHJvd249ITAsbyhuKSl9KSxjLm9uKCJmbi1lbmQiLGZ1bmN0aW9uKCl7ZCYmIXRoaXMudGhyb3duJiZsPjAmJihsLT0xKX0pLGMub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtpKCJpZXJyIixbdCxzLm5vdygpLCEwXSl9KX0se31dLDM6W2Z1bmN0aW9uKHQsZSxuKXt0KCJsb2FkZXIiKS5mZWF0dXJlcy5pbnM9ITB9LHt9XSw0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe0wrKyxUPWcuaGFzaCx0aGlzW2ZdPXkubm93KCl9ZnVuY3Rpb24gbygpe0wtLSxnLmhhc2ghPT1UJiZpKDAsITApO3ZhciB0PXkubm93KCk7dGhpc1toXT1+fnRoaXNbaF0rdC10aGlzW2ZdLHRoaXNbZF09dH1mdW5jdGlvbiBpKHQsZSl7RS5lbWl0KCJuZXdVUkwiLFsiIitnLGVdKX1mdW5jdGlvbiBhKHQsZSl7dC5vbihlLGZ1bmN0aW9uKCl7dGhpc1tlXT15Lm5vdygpfSl9dmFyIGM9Ii1zdGFydCIscz0iLWVuZCIsdT0iLWJvZHkiLGY9ImZuIitjLGQ9ImZuIitzLHA9ImNiIitjLGw9ImNiIitzLGg9ImpzVGltZSIsbT0iZmV0Y2giLHY9ImFkZEV2ZW50TGlzdGVuZXIiLHc9d2luZG93LGc9dy5sb2NhdGlvbix5PXQoImxvYWRlciIpO2lmKHdbdl0mJnkueGhyV3JhcHBhYmxlKXt2YXIgeD10KDEwKSxiPXQoMTEpLEU9dCg4KSxSPXQoNiksTz10KDEzKSxOPXQoNyksUD10KDE0KSxNPXQoOSksUz10KCJlZSIpLEM9Uy5nZXQoInRyYWNlciIpO3QoMTYpLHkuZmVhdHVyZXMuc3BhPSEwO3ZhciBULEw9MDtTLm9uKGYsciksYi5vbihwLHIpLE0ub24ocCxyKSxTLm9uKGQsbyksYi5vbihsLG8pLE0ub24obCxvKSxTLmJ1ZmZlcihbZixkLCJ4aHItZG9uZSIsInhoci1yZXNvbHZlZCJdKSxSLmJ1ZmZlcihbZl0pLE8uYnVmZmVyKFsic2V0VGltZW91dCIrcywiY2xlYXJUaW1lb3V0IitjLGZdKSxQLmJ1ZmZlcihbZiwibmV3LXhociIsInNlbmQteGhyIitjXSksTi5idWZmZXIoW20rYyxtKyItZG9uZSIsbSt1K2MsbSt1K3NdKSxFLmJ1ZmZlcihbIm5ld1VSTCJdKSx4LmJ1ZmZlcihbZl0pLGIuYnVmZmVyKFsicHJvcGFnYXRlIixwLGwsImV4ZWN1dG9yLWVyciIsInJlc29sdmUiK2NdKSxDLmJ1ZmZlcihbZiwibm8tIitmXSksTS5idWZmZXIoWyJuZXctanNvbnAiLCJjYi1zdGFydCIsImpzb25wLWVycm9yIiwianNvbnAtZW5kIl0pLGEoUCwic2VuZC14aHIiK2MpLGEoUywieGhyLXJlc29sdmVkIiksYShTLCJ4aHItZG9uZSIpLGEoTixtK2MpLGEoTixtKyItZG9uZSIpLGEoTSwibmV3LWpzb25wIiksYShNLCJqc29ucC1lbmQiKSxhKE0sImNiLXN0YXJ0IiksRS5vbigicHVzaFN0YXRlLWVuZCIsaSksRS5vbigicmVwbGFjZVN0YXRlLWVuZCIsaSksd1t2XSgiaGFzaGNoYW5nZSIsaSwhMCksd1t2XSgibG9hZCIsaSwhMCksd1t2XSgicG9wc3RhdGUiLGZ1bmN0aW9uKCl7aSgwLEw+MSl9LCEwKX19LHt9XSw1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt9aWYod2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSl7dmFyIG89dCgiZWUiKSxpPXQoImhhbmRsZSIpLGE9dCgxMyksYz10KDEyKSxzPSJsZWFyUmVzb3VyY2VUaW1pbmdzIix1PSJhZGRFdmVudExpc3RlbmVyIixmPSJyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiLGQ9ImJzdFJlc291cmNlIixwPSJyZXNvdXJjZSIsbD0iLXN0YXJ0IixoPSItZW5kIixtPSJmbiIrbCx2PSJmbiIraCx3PSJic3RUaW1lciIsZz0icHVzaFN0YXRlIix5PXQoImxvYWRlciIpO3kuZmVhdHVyZXMuc3RuPSEwLHQoOCksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpO3ZhciB4PU5SRVVNLm8uRVY7by5vbihtLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmKHRoaXMuYnN0U3RhcnQ9eS5ub3coKSl9KSxvLm9uKHYsZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdO24gaW5zdGFuY2VvZiB4JiZpKCJic3QiLFtuLGUsdGhpcy5ic3RTdGFydCx5Lm5vdygpXSl9KSxhLm9uKG0sZnVuY3Rpb24odCxlLG4pe3RoaXMuYnN0U3RhcnQ9eS5ub3coKSx0aGlzLmJzdFR5cGU9bn0pLGEub24odixmdW5jdGlvbih0LGUpe2kodyxbZSx0aGlzLmJzdFN0YXJ0LHkubm93KCksdGhpcy5ic3RUeXBlXSl9KSxjLm9uKG0sZnVuY3Rpb24oKXt0aGlzLmJzdFN0YXJ0PXkubm93KCl9KSxjLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiXSl9KSxvLm9uKGcrbCxmdW5jdGlvbih0KXt0aGlzLnRpbWU9eS5ub3coKSx0aGlzLnN0YXJ0UGF0aD1sb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNofSksby5vbihnK2gsZnVuY3Rpb24odCl7aSgiYnN0SGlzdCIsW2xvY2F0aW9uLnBhdGhuYW1lK2xvY2F0aW9uLmhhc2gsdGhpcy5zdGFydFBhdGgsdGhpcy50aW1lXSl9KSx1IGluIHdpbmRvdy5wZXJmb3JtYW5jZSYmKHdpbmRvdy5wZXJmb3JtYW5jZVsiYyIrc10/d2luZG93LnBlcmZvcm1hbmNlW3VdKGYsZnVuY3Rpb24odCl7aShkLFt3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShwKV0pLHdpbmRvdy5wZXJmb3JtYW5jZVsiYyIrc10oKX0sITEpOndpbmRvdy5wZXJmb3JtYW5jZVt1XSgid2Via2l0IitmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbIndlYmtpdEMiK3NdKCl9LCExKSksZG9jdW1lbnRbdV0oInNjcm9sbCIscix7cGFzc2l2ZTohMH0pLGRvY3VtZW50W3VdKCJrZXlwcmVzcyIsciwhMSksZG9jdW1lbnRbdV0oImNsaWNrIixyLCExKX19LHt9XSw2OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmb3IodmFyIGU9dDtlJiYhZS5oYXNPd25Qcm9wZXJ0eShmKTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7ZSYmbyhlKX1mdW5jdGlvbiBvKHQpe2MuaW5QbGFjZSh0LFtmLGRdLCItIixpKX1mdW5jdGlvbiBpKHQsZSl7cmV0dXJuIHRbMV19dmFyIGE9dCgiZWUiKS5nZXQoImV2ZW50cyIpLGM9dCgid3JhcC1mdW5jdGlvbiIpKGEsITApLHM9dCgiZ29zIiksdT1YTUxIdHRwUmVxdWVzdCxmPSJhZGRFdmVudExpc3RlbmVyIixkPSJyZW1vdmVFdmVudExpc3RlbmVyIjtlLmV4cG9ydHM9YSwiZ2V0UHJvdG90eXBlT2YiaW4gT2JqZWN0PyhyKGRvY3VtZW50KSxyKHdpbmRvdykscih1LnByb3RvdHlwZSkpOnUucHJvdG90eXBlLmhhc093blByb3BlcnR5KGYpJiYobyh3aW5kb3cpLG8odS5wcm90b3R5cGUpKSxhLm9uKGYrIi1zdGFydCIsZnVuY3Rpb24odCxlKXt2YXIgbj10WzFdLHI9cyhuLCJuckB3cmFwcGVkIixmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi5oYW5kbGVFdmVudClyZXR1cm4gbi5oYW5kbGVFdmVudC5hcHBseShuLGFyZ3VtZW50cyl9dmFyIGU9e29iamVjdDp0LCJmdW5jdGlvbiI6bn1bdHlwZW9mIG5dO3JldHVybiBlP2MoZSwiZm4tIixudWxsLGUubmFtZXx8ImFub255bW91cyIpOm59KTt0aGlzLndyYXBwZWQ9dFsxXT1yfSksYS5vbihkKyItc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMV09dGhpcy53cmFwcGVkfHx0WzFdfSl9LHt9XSw3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dmFyIHI9dFtlXTsiZnVuY3Rpb24iPT10eXBlb2YgciYmKHRbZV09ZnVuY3Rpb24oKXt2YXIgdD1pKGFyZ3VtZW50cyksZT17fTtvLmVtaXQobisiYmVmb3JlLXN0YXJ0IixbdF0sZSk7dmFyIGE7ZVttXSYmZVttXS5kdCYmKGE9ZVttXS5kdCk7dmFyIGM9ci5hcHBseSh0aGlzLHQpO3JldHVybiBvLmVtaXQobisic3RhcnQiLFt0LGFdLGMpLGMudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gby5lbWl0KG4rImVuZCIsW251bGwsdF0sYyksdH0sZnVuY3Rpb24odCl7dGhyb3cgby5lbWl0KG4rImVuZCIsW3RdLGMpLHR9KX0pfXZhciBvPXQoImVlIikuZ2V0KCJmZXRjaCIpLGk9dCgyOSksYT10KDI4KTtlLmV4cG9ydHM9bzt2YXIgYz13aW5kb3cscz0iZmV0Y2gtIix1PXMrImJvZHktIixmPVsiYXJyYXlCdWZmZXIiLCJibG9iIiwianNvbiIsInRleHQiLCJmb3JtRGF0YSJdLGQ9Yy5SZXF1ZXN0LHA9Yy5SZXNwb25zZSxsPWMuZmV0Y2gsaD0icHJvdG90eXBlIixtPSJuckBjb250ZXh0IjtkJiZwJiZsJiYoYShmLGZ1bmN0aW9uKHQsZSl7cihkW2hdLGUsdSkscihwW2hdLGUsdSl9KSxyKGMsImZldGNoIixzKSxvLm9uKHMrImVuZCIsZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2lmKGUpe3ZhciByPWUuaGVhZGVycy5nZXQoImNvbnRlbnQtbGVuZ3RoIik7bnVsbCE9PXImJihuLnJ4U2l6ZT1yKSxvLmVtaXQocysiZG9uZSIsW251bGwsZV0sbil9ZWxzZSBvLmVtaXQocysiZG9uZSIsW3RdLG4pfSkpfSx7fV0sODpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXQoImVlIikuZ2V0KCJoaXN0b3J5Iiksbz10KCJ3cmFwLWZ1bmN0aW9uIikocik7ZS5leHBvcnRzPXI7dmFyIGk9d2luZG93Lmhpc3RvcnkmJndpbmRvdy5oaXN0b3J5LmNvbnN0cnVjdG9yJiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsYT13aW5kb3cuaGlzdG9yeTtpJiZpLnB1c2hTdGF0ZSYmaS5yZXBsYWNlU3RhdGUmJihhPWkpLG8uaW5QbGFjZShhLFsicHVzaFN0YXRlIiwicmVwbGFjZVN0YXRlIl0sIi0iKX0se31dLDk6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2Z1bmN0aW9uIGUoKXtzLmVtaXQoImpzb25wLWVuZCIsW10scCksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixlLCExKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixuLCExKX1mdW5jdGlvbiBuKCl7cy5lbWl0KCJqc29ucC1lcnJvciIsW10scCkscy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9dmFyIHI9dCYmInN0cmluZyI9PXR5cGVvZiB0Lm5vZGVOYW1lJiYic2NyaXB0Ij09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihyKXt2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgdC5hZGRFdmVudExpc3RlbmVyO2lmKG8pe3ZhciBhPWkodC5zcmMpO2lmKGEpe3ZhciBmPWMoYSksZD0iZnVuY3Rpb24iPT10eXBlb2YgZi5wYXJlbnRbZi5rZXldO2lmKGQpe3ZhciBwPXt9O3UuaW5QbGFjZShmLnBhcmVudCxbZi5rZXldLCJjYi0iLHApLHQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSkscy5lbWl0KCJuZXctanNvbnAiLFt0LnNyY10scCl9fX19fWZ1bmN0aW9uIG8oKXtyZXR1cm4iYWRkRXZlbnRMaXN0ZW5lciJpbiB3aW5kb3d9ZnVuY3Rpb24gaSh0KXt2YXIgZT10Lm1hdGNoKGYpO3JldHVybiBlP2VbMV06bnVsbH1mdW5jdGlvbiBhKHQsZSl7dmFyIG49dC5tYXRjaChwKSxyPW5bMV0sbz1uWzNdO3JldHVybiBvP2EobyxlW3JdKTplW3JdfWZ1bmN0aW9uIGModCl7dmFyIGU9dC5tYXRjaChkKTtyZXR1cm4gZSYmZS5sZW5ndGg+PTM/e2tleTplWzJdLHBhcmVudDphKGVbMV0sd2luZG93KX06e2tleTp0LHBhcmVudDp3aW5kb3d9fXZhciBzPXQoImVlIikuZ2V0KCJqc29ucCIpLHU9dCgid3JhcC1mdW5jdGlvbiIpKHMpO2lmKGUuZXhwb3J0cz1zLG8oKSl7dmFyIGY9L1s/Jl0oPzpjYWxsYmFja3xjYik9KFteJiNdKykvLGQ9LyguKilcLihbXi5dKykvLHA9L14oXHcrKShcLnwkKSguKikkLyxsPVsiYXBwZW5kQ2hpbGQiLCJpbnNlcnRCZWZvcmUiLCJyZXBsYWNlQ2hpbGQiXTtOb2RlJiZOb2RlLnByb3RvdHlwZSYmTm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ/dS5pblBsYWNlKE5vZGUucHJvdG90eXBlLGwsImRvbS0iKToodS5pblBsYWNlKEhUTUxFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIiksdS5pblBsYWNlKEhUTUxIZWFkRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MQm9keUVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSkscy5vbigiZG9tLXN0YXJ0IixmdW5jdGlvbih0KXtyKHRbMF0pfSl9fSx7fV0sMTA6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgibXV0YXRpb24iKSxvPXQoIndyYXAtZnVuY3Rpb24iKShyKSxpPU5SRVVNLm8uTU87ZS5leHBvcnRzPXIsaSYmKHdpbmRvdy5NdXRhdGlvbk9ic2VydmVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgaT9uZXcgaShvKHQsImZuLSIpKTppLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sTXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGU9aS5wcm90b3R5cGUpfSx7fV0sMTE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPWkuY29udGV4dCgpLG49Yyh0LCJleGVjdXRvci0iLGUsbnVsbCwhMSkscj1uZXcgdShuKTtyZXR1cm4gaS5jb250ZXh0KHIpLmdldEN0eD1mdW5jdGlvbigpe3JldHVybiBlfSxyfXZhciBvPXQoIndyYXAtZnVuY3Rpb24iKSxpPXQoImVlIikuZ2V0KCJwcm9taXNlIiksYT10KCJlZSIpLmdldE9yU2V0Q29udGV4dCxjPW8oaSkscz10KDI4KSx1PU5SRVVNLm8uUFI7ZS5leHBvcnRzPWksdSYmKHdpbmRvdy5Qcm9taXNlPXIsWyJhbGwiLCJyYWNlIl0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24obil7ZnVuY3Rpb24gcih0KXtyZXR1cm4gZnVuY3Rpb24oKXtpLmVtaXQoInByb3BhZ2F0ZSIsW251bGwsIW9dLGEsITEsITEpLG89b3x8IXR9fXZhciBvPSExO3MobixmdW5jdGlvbihlLG4pe1Byb21pc2UucmVzb2x2ZShuKS50aGVuKHIoImFsbCI9PT10KSxyKCExKSl9KTt2YXIgYT1lLmFwcGx5KHUsYXJndW1lbnRzKSxjPXUucmVzb2x2ZShhKTtyZXR1cm4gY319KSxbInJlc29sdmUiLCJyZWplY3QiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXVbdF07dVt0XT1mdW5jdGlvbih0KXt2YXIgbj1lLmFwcGx5KHUsYXJndW1lbnRzKTtyZXR1cm4gdCE9PW4mJmkuZW1pdCgicHJvcGFnYXRlIixbdCwhMF0sbiwhMSwhMSksbn19KSx1LnByb3RvdHlwZVsiY2F0Y2giXT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50aGVuKG51bGwsdCl9LHUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTpyfX0pLHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModSksZnVuY3Rpb24odCxlKXt0cnl7cltlXT11W2VdfWNhdGNoKG4pe319KSxvLndyYXBJblBsYWNlKHUucHJvdG90eXBlLCJ0aGVuIixmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49by5hcmdzVG9BcnJheS5hcHBseSh0aGlzLGFyZ3VtZW50cykscj1hKGUpO3IucHJvbWlzZT1lLG5bMF09YyhuWzBdLCJjYi0iLHIsbnVsbCwhMSksblsxXT1jKG5bMV0sImNiLSIscixudWxsLCExKTt2YXIgcz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIubmV4dFByb21pc2U9cyxpLmVtaXQoInByb3BhZ2F0ZSIsW2UsITBdLHMsITEsITEpLHN9fSksaS5vbigiZXhlY3V0b3Itc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMF09Yyh0WzBdLCJyZXNvbHZlLSIsdGhpcyxudWxsLCExKSx0WzFdPWModFsxXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSl9KSxpLm9uKCJleGVjdXRvci1lcnIiLGZ1bmN0aW9uKHQsZSxuKXt0WzFdKG4pfSksaS5vbigiY2ItZW5kIixmdW5jdGlvbih0LGUsbil7aS5lbWl0KCJwcm9wYWdhdGUiLFtuLCEwXSx0aGlzLm5leHRQcm9taXNlLCExLCExKX0pLGkub24oInByb3BhZ2F0ZSIsZnVuY3Rpb24odCxlLG4pe3RoaXMuZ2V0Q3R4JiYhZXx8KHRoaXMuZ2V0Q3R4PWZ1bmN0aW9uKCl7aWYodCBpbnN0YW5jZW9mIFByb21pc2UpdmFyIGU9aS5jb250ZXh0KHQpO3JldHVybiBlJiZlLmdldEN0eD9lLmdldEN0eCgpOnRoaXN9KX0pLHIudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIit1fSl9LHt9XSwxMjpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXQoImVlIikuZ2V0KCJyYWYiKSxvPXQoIndyYXAtZnVuY3Rpb24iKShyKSxpPSJlcXVlc3RBbmltYXRpb25GcmFtZSI7ZS5leHBvcnRzPXIsby5pblBsYWNlKHdpbmRvdyxbInIiK2ksIm1velIiK2ksIndlYmtpdFIiK2ksIm1zUiIraV0sInJhZi0iKSxyLm9uKCJyYWYtc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMF09byh0WzBdLCJmbi0iKX0pfSx7fV0sMTM6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuKXt0WzBdPWEodFswXSwiZm4tIixudWxsLG4pfWZ1bmN0aW9uIG8odCxlLG4pe3RoaXMubWV0aG9kPW4sdGhpcy50aW1lckR1cmF0aW9uPWlzTmFOKHRbMV0pPzA6K3RbMV0sdFswXT1hKHRbMF0sImZuLSIsdGhpcyxuKX12YXIgaT10KCJlZSIpLmdldCgidGltZXIiKSxhPXQoIndyYXAtZnVuY3Rpb24iKShpKSxjPSJzZXRUaW1lb3V0IixzPSJzZXRJbnRlcnZhbCIsdT0iY2xlYXJUaW1lb3V0IixmPSItc3RhcnQiLGQ9Ii0iO2UuZXhwb3J0cz1pLGEuaW5QbGFjZSh3aW5kb3csW2MsInNldEltbWVkaWF0ZSJdLGMrZCksYS5pblBsYWNlKHdpbmRvdyxbc10scytkKSxhLmluUGxhY2Uod2luZG93LFt1LCJjbGVhckltbWVkaWF0ZSJdLHUrZCksaS5vbihzK2YsciksaS5vbihjK2Ysbyl9LHt9XSwxNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXtkLmluUGxhY2UoZSxbIm9ucmVhZHlzdGF0ZWNoYW5nZSJdLCJmbi0iLGMpfWZ1bmN0aW9uIG8oKXt2YXIgdD10aGlzLGU9Zi5jb250ZXh0KHQpO3QucmVhZHlTdGF0ZT4zJiYhZS5yZXNvbHZlZCYmKGUucmVzb2x2ZWQ9ITAsZi5lbWl0KCJ4aHItcmVzb2x2ZWQiLFtdLHQpKSxkLmluUGxhY2UodCxnLCJmbi0iLGMpfWZ1bmN0aW9uIGkodCl7eS5wdXNoKHQpLGgmJihiP2IudGhlbihhKTp2P3YoYSk6KEU9LUUsUi5kYXRhPUUpKX1mdW5jdGlvbiBhKCl7Zm9yKHZhciB0PTA7dDx5Lmxlbmd0aDt0KyspcihbXSx5W3RdKTt5Lmxlbmd0aCYmKHk9W10pfWZ1bmN0aW9uIGModCxlKXtyZXR1cm4gZX1mdW5jdGlvbiBzKHQsZSl7Zm9yKHZhciBuIGluIHQpZVtuXT10W25dO3JldHVybiBlfXQoNik7dmFyIHU9dCgiZWUiKSxmPXUuZ2V0KCJ4aHIiKSxkPXQoIndyYXAtZnVuY3Rpb24iKShmKSxwPU5SRVVNLm8sbD1wLlhIUixoPXAuTU8sbT1wLlBSLHY9cC5TSSx3PSJyZWFkeXN0YXRlY2hhbmdlIixnPVsib25sb2FkIiwib25lcnJvciIsIm9uYWJvcnQiLCJvbmxvYWRzdGFydCIsIm9ubG9hZGVuZCIsIm9ucHJvZ3Jlc3MiLCJvbnRpbWVvdXQiXSx5PVtdO2UuZXhwb3J0cz1mO3ZhciB4PXdpbmRvdy5YTUxIdHRwUmVxdWVzdD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgbCh0KTt0cnl7Zi5lbWl0KCJuZXcteGhyIixbZV0sZSksZS5hZGRFdmVudExpc3RlbmVyKHcsbywhMSl9Y2F0Y2gobil7dHJ5e2YuZW1pdCgiaW50ZXJuYWwtZXJyb3IiLFtuXSl9Y2F0Y2gocil7fX1yZXR1cm4gZX07aWYocyhsLHgpLHgucHJvdG90eXBlPWwucHJvdG90eXBlLGQuaW5QbGFjZSh4LnByb3RvdHlwZSxbIm9wZW4iLCJzZW5kIl0sIi14aHItIixjKSxmLm9uKCJzZW5kLXhoci1zdGFydCIsZnVuY3Rpb24odCxlKXtyKHQsZSksaShlKX0pLGYub24oIm9wZW4teGhyLXN0YXJ0IixyKSxoKXt2YXIgYj1tJiZtLnJlc29sdmUoKTtpZighdiYmIW0pe3ZhciBFPTEsUj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShFKTtuZXcgaChhKS5vYnNlcnZlKFIse2NoYXJhY3RlckRhdGE6ITB9KX19ZWxzZSB1Lm9uKCJmbi1lbmQiLGZ1bmN0aW9uKHQpe3RbMF0mJnRbMF0udHlwZT09PXd8fGEoKX0pfSx7fV0sMTU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2lmKCFjKHQpKXJldHVybiBudWxsO3ZhciBlPXdpbmRvdy5OUkVVTTtpZighZS5sb2FkZXJfY29uZmlnKXJldHVybiBudWxsO3ZhciBuPShlLmxvYWRlcl9jb25maWcuYWNjb3VudElEfHwiIikudG9TdHJpbmcoKXx8bnVsbCxyPShlLmxvYWRlcl9jb25maWcuYWdlbnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwsdT0oZS5sb2FkZXJfY29uZmlnLnRydXN0S2V5fHwiIikudG9TdHJpbmcoKXx8bnVsbDtpZighbnx8IXIpcmV0dXJuIG51bGw7dmFyIGg9bC5nZW5lcmF0ZVNwYW5JZCgpLG09bC5nZW5lcmF0ZVRyYWNlSWQoKSx2PURhdGUubm93KCksdz17c3BhbklkOmgsdHJhY2VJZDptLHRpbWVzdGFtcDp2fTtyZXR1cm4odC5zYW1lT3JpZ2lufHxzKHQpJiZwKCkpJiYody50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXI9byhoLG0pLHcudHJhY2VDb250ZXh0U3RhdGVIZWFkZXI9aShoLHYsbixyLHUpKSwodC5zYW1lT3JpZ2luJiYhZigpfHwhdC5zYW1lT3JpZ2luJiZzKHQpJiZkKCkpJiYody5uZXdyZWxpY0hlYWRlcj1hKGgsbSx2LG4scix1KSksd31mdW5jdGlvbiBvKHQsZSl7cmV0dXJuIjAwLSIrZSsiLSIrdCsiLTAxIn1mdW5jdGlvbiBpKHQsZSxuLHIsbyl7dmFyIGk9MCxhPSIiLGM9MSxzPSIiLHU9IiI7cmV0dXJuIG8rIkBucj0iK2krIi0iK2MrIi0iK24rIi0iK3IrIi0iK3QrIi0iK2ErIi0iK3MrIi0iK3UrIi0iK2V9ZnVuY3Rpb24gYSh0LGUsbixyLG8saSl7dmFyIGE9ImJ0b2EiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LmJ0b2E7aWYoIWEpcmV0dXJuIG51bGw7dmFyIGM9e3Y6WzAsMV0sZDp7dHk6IkJyb3dzZXIiLGFjOnIsYXA6byxpZDp0LHRyOmUsdGk6bn19O3JldHVybiBpJiZyIT09aSYmKGMuZC50az1pKSxidG9hKEpTT04uc3RyaW5naWZ5KGMpKX1mdW5jdGlvbiBjKHQpe3JldHVybiB1KCkmJnModCl9ZnVuY3Rpb24gcyh0KXt2YXIgZT0hMSxuPXt9O2lmKCJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYobj1OUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcpLHQuc2FtZU9yaWdpbillPSEwO2Vsc2UgaWYobi5hbGxvd2VkX29yaWdpbnMgaW5zdGFuY2VvZiBBcnJheSlmb3IodmFyIHI9MDtyPG4uYWxsb3dlZF9vcmlnaW5zLmxlbmd0aDtyKyspe3ZhciBvPWgobi5hbGxvd2VkX29yaWdpbnNbcl0pO2lmKHQuaG9zdG5hbWU9PT1vLmhvc3RuYW1lJiZ0LnByb3RvY29sPT09by5wcm90b2NvbCYmdC5wb3J0PT09by5wb3J0KXtlPSEwO2JyZWFrfX1yZXR1cm4gZX1mdW5jdGlvbiB1KCl7cmV0dXJuImluaXQiaW4gTlJFVU0mJiJkaXN0cmlidXRlZF90cmFjaW5nImluIE5SRVVNLmluaXQmJiEhTlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nLmVuYWJsZWR9ZnVuY3Rpb24gZigpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5leGNsdWRlX25ld3JlbGljX2hlYWRlcn1mdW5jdGlvbiBkKCl7cmV0dXJuImluaXQiaW4gTlJFVU0mJiJkaXN0cmlidXRlZF90cmFjaW5nImluIE5SRVVNLmluaXQmJk5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV9uZXdyZWxpY19oZWFkZXIhPT0hMX1mdW5jdGlvbiBwKCl7cmV0dXJuImluaXQiaW4gTlJFVU0mJiJkaXN0cmlidXRlZF90cmFjaW5nImluIE5SRVVNLmluaXQmJiEhTlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nLmNvcnNfdXNlX3RyYWNlY29udGV4dF9oZWFkZXJzfXZhciBsPXQoMjUpLGg9dCgxNyk7ZS5leHBvcnRzPXtnZW5lcmF0ZVRyYWNlUGF5bG9hZDpyLHNob3VsZEdlbmVyYXRlVHJhY2U6Y319LHt9XSwxNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dGhpcy5wYXJhbXMsbj10aGlzLm1ldHJpY3M7aWYoIXRoaXMuZW5kZWQpe3RoaXMuZW5kZWQ9ITA7Zm9yKHZhciByPTA7cjxwO3IrKyl0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZFtyXSx0aGlzLmxpc3RlbmVyLCExKTtlLmFib3J0ZWR8fChuLmR1cmF0aW9uPWEubm93KCktdGhpcy5zdGFydFRpbWUsdGhpcy5sb2FkQ2FwdHVyZUNhbGxlZHx8NCE9PXQucmVhZHlTdGF0ZT9udWxsPT1lLnN0YXR1cyYmKGUuc3RhdHVzPTApOmkodGhpcyx0KSxuLmNiVGltZT10aGlzLmNiVGltZSxmLmVtaXQoInhoci1kb25lIixbdF0sdCksYygieGhyIixbZSxuLHRoaXMuc3RhcnRUaW1lXSkpfX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49cyhlKSxyPXQucGFyYW1zO3IuaG9zdD1uLmhvc3RuYW1lKyI6IituLnBvcnQsci5wYXRobmFtZT1uLnBhdGhuYW1lLHQucGFyc2VkT3JpZ2luPXMoZSksdC5zYW1lT3JpZ2luPXQucGFyc2VkT3JpZ2luLnNhbWVPcmlnaW59ZnVuY3Rpb24gaSh0LGUpe3QucGFyYW1zLnN0YXR1cz1lLnN0YXR1czt2YXIgbj12KGUsdC5sYXN0U2l6ZSk7aWYobiYmKHQubWV0cmljcy5yeFNpemU9biksdC5zYW1lT3JpZ2luKXt2YXIgcj1lLmdldFJlc3BvbnNlSGVhZGVyKCJYLU5ld1JlbGljLUFwcC1EYXRhIik7ciYmKHQucGFyYW1zLmNhdD1yLnNwbGl0KCIsICIpLnBvcCgpKX10LmxvYWRDYXB0dXJlQ2FsbGVkPSEwfXZhciBhPXQoImxvYWRlciIpO2lmKGEueGhyV3JhcHBhYmxlKXt2YXIgYz10KCJoYW5kbGUiKSxzPXQoMTcpLHU9dCgxNSkuZ2VuZXJhdGVUcmFjZVBheWxvYWQsZj10KCJlZSIpLGQ9WyJsb2FkIiwiZXJyb3IiLCJhYm9ydCIsInRpbWVvdXQiXSxwPWQubGVuZ3RoLGw9dCgiaWQiKSxoPXQoMjEpLG09dCgyMCksdj10KDE4KSx3PXdpbmRvdy5YTUxIdHRwUmVxdWVzdDthLmZlYXR1cmVzLnhocj0hMCx0KDE0KSx0KDcpLGYub24oIm5ldy14aHIiLGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7ZS50b3RhbENicz0wLGUuY2FsbGVkPTAsZS5jYlRpbWU9MCxlLmVuZD1yLGUuZW5kZWQ9ITEsZS54aHJHdWlkcz17fSxlLmxhc3RTaXplPW51bGwsZS5sb2FkQ2FwdHVyZUNhbGxlZD0hMSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKG4pe2koZSx0KX0sITEpLGgmJihoPjM0fHxoPDEwKXx8d2luZG93Lm9wZXJhfHx0LmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixmdW5jdGlvbih0KXtlLmxhc3RTaXplPXQubG9hZGVkfSwhMSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsZnVuY3Rpb24odCl7dGhpcy5wYXJhbXM9e21ldGhvZDp0WzBdfSxvKHRoaXMsdFsxXSksdGhpcy5tZXRyaWNzPXt9fSksZi5vbigib3Blbi14aHItZW5kIixmdW5jdGlvbih0LGUpeyJsb2FkZXJfY29uZmlnImluIE5SRVVNJiYieHBpZCJpbiBOUkVVTS5sb2FkZXJfY29uZmlnJiZ0aGlzLnNhbWVPcmlnaW4mJmUuc2V0UmVxdWVzdEhlYWRlcigiWC1OZXdSZWxpYy1JRCIsTlJFVU0ubG9hZGVyX2NvbmZpZy54cGlkKTt2YXIgbj11KHRoaXMucGFyc2VkT3JpZ2luKTtpZihuKXt2YXIgcj0hMTtuLm5ld3JlbGljSGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJuZXdyZWxpYyIsbi5uZXdyZWxpY0hlYWRlcikscj0hMCksbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXImJihlLnNldFJlcXVlc3RIZWFkZXIoInRyYWNlcGFyZW50IixuLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciksbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlciYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXN0YXRlIixuLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxyPSEwKSxyJiYodGhpcy5kdD1uKX19KSxmLm9uKCJzZW5kLXhoci1zdGFydCIsZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLm1ldHJpY3Mscj10WzBdLG89dGhpcztpZihuJiZyKXt2YXIgaT1tKHIpO2kmJihuLnR4U2l6ZT1pKX10aGlzLnN0YXJ0VGltZT1hLm5vdygpLHRoaXMubGlzdGVuZXI9ZnVuY3Rpb24odCl7dHJ5eyJhYm9ydCIhPT10LnR5cGV8fG8ubG9hZENhcHR1cmVDYWxsZWR8fChvLnBhcmFtcy5hYm9ydGVkPSEwKSwoImxvYWQiIT09dC50eXBlfHxvLmNhbGxlZD09PW8udG90YWxDYnMmJihvLm9ubG9hZENhbGxlZHx8ImZ1bmN0aW9uIiE9dHlwZW9mIGUub25sb2FkKSkmJm8uZW5kKGUpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319fTtmb3IodmFyIGM9MDtjPHA7YysrKWUuYWRkRXZlbnRMaXN0ZW5lcihkW2NdLHRoaXMubGlzdGVuZXIsITEpfSksZi5vbigieGhyLWNiLXRpbWUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmNiVGltZSs9dCxlP3RoaXMub25sb2FkQ2FsbGVkPSEwOnRoaXMuY2FsbGVkKz0xLHRoaXMuY2FsbGVkIT09dGhpcy50b3RhbENic3x8IXRoaXMub25sb2FkQ2FsbGVkJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5vbmxvYWR8fHRoaXMuZW5kKG4pfSksZi5vbigieGhyLWxvYWQtYWRkZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmIXRoaXMueGhyR3VpZHNbbl0mJih0aGlzLnhockd1aWRzW25dPSEwLHRoaXMudG90YWxDYnMrPTEpfSksZi5vbigieGhyLWxvYWQtcmVtb3ZlZCIsZnVuY3Rpb24odCxlKXt2YXIgbj0iIitsKHQpKyEhZTt0aGlzLnhockd1aWRzJiZ0aGlzLnhockd1aWRzW25dJiYoZGVsZXRlIHRoaXMueGhyR3VpZHNbbl0sdGhpcy50b3RhbENicy09MSl9KSxmLm9uKCJhZGRFdmVudExpc3RlbmVyLWVuZCIsZnVuY3Rpb24odCxlKXtlIGluc3RhbmNlb2YgdyYmImxvYWQiPT09dFswXSYmZi5lbWl0KCJ4aHItbG9hZC1hZGRlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJyZW1vdmVFdmVudExpc3RlbmVyLWVuZCIsZnVuY3Rpb24odCxlKXtlIGluc3RhbmNlb2YgdyYmImxvYWQiPT09dFswXSYmZi5lbWl0KCJ4aHItbG9hZC1yZW1vdmVkIixbdFsxXSx0WzJdXSxlKX0pLGYub24oImZuLXN0YXJ0IixmdW5jdGlvbih0LGUsbil7ZSBpbnN0YW5jZW9mIHcmJigib25sb2FkIj09PW4mJih0aGlzLm9ubG9hZD0hMCksKCJsb2FkIj09PSh0WzBdJiZ0WzBdLnR5cGUpfHx0aGlzLm9ubG9hZCkmJih0aGlzLnhockNiU3RhcnQ9YS5ub3coKSkpfSksZi5vbigiZm4tZW5kIixmdW5jdGlvbih0LGUpe3RoaXMueGhyQ2JTdGFydCYmZi5lbWl0KCJ4aHItY2ItdGltZSIsW2Eubm93KCktdGhpcy54aHJDYlN0YXJ0LHRoaXMub25sb2FkLGVdLGUpfSksZi5vbigiZmV0Y2gtYmVmb3JlLXN0YXJ0IixmdW5jdGlvbih0KXtmdW5jdGlvbiBlKHQsZSl7dmFyIG49ITE7cmV0dXJuIGUubmV3cmVsaWNIZWFkZXImJih0LnNldCgibmV3cmVsaWMiLGUubmV3cmVsaWNIZWFkZXIpLG49ITApLGUudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYodC5zZXQoInRyYWNlcGFyZW50IixlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciksZS50cmFjZUNvbnRleHRTdGF0ZUhlYWRlciYmdC5zZXQoInRyYWNlc3RhdGUiLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXIpLG49ITApLG59dmFyIG4scj10WzFdfHx7fTsic3RyaW5nIj09dHlwZW9mIHRbMF0/bj10WzBdOnRbMF0mJnRbMF0udXJsP249dFswXS51cmw6d2luZG93LlVSTCYmdFswXSYmdFswXWluc3RhbmNlb2YgVVJMJiYobj10WzBdLmhyZWYpLG4mJih0aGlzLnBhcnNlZE9yaWdpbj1zKG4pLHRoaXMuc2FtZU9yaWdpbj10aGlzLnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2luKTt2YXIgbz11KHRoaXMucGFyc2VkT3JpZ2luKTtpZihvJiYoby5uZXdyZWxpY0hlYWRlcnx8by50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpKWlmKCJzdHJpbmciPT10eXBlb2YgdFswXXx8d2luZG93LlVSTCYmdFswXSYmdFswXWluc3RhbmNlb2YgVVJMKXt2YXIgaT17fTtmb3IodmFyIGEgaW4gcilpW2FdPXJbYV07aS5oZWFkZXJzPW5ldyBIZWFkZXJzKHIuaGVhZGVyc3x8e30pLGUoaS5oZWFkZXJzLG8pJiYodGhpcy5kdD1vKSx0Lmxlbmd0aD4xP3RbMV09aTp0LnB1c2goaSl9ZWxzZSB0WzBdJiZ0WzBdLmhlYWRlcnMmJmUodFswXS5oZWFkZXJzLG8pJiYodGhpcy5kdD1vKX0pfX0se31dLDE3OltmdW5jdGlvbih0LGUsbil7dmFyIHI9e307ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKHQgaW4gcilyZXR1cm4gclt0XTt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksbj13aW5kb3cubG9jYXRpb24sbz17fTtlLmhyZWY9dCxvLnBvcnQ9ZS5wb3J0O3ZhciBpPWUuaHJlZi5zcGxpdCgiOi8vIik7IW8ucG9ydCYmaVsxXSYmKG8ucG9ydD1pWzFdLnNwbGl0KCIvIilbMF0uc3BsaXQoIkAiKS5wb3AoKS5zcGxpdCgiOiIpWzFdKSxvLnBvcnQmJiIwIiE9PW8ucG9ydHx8KG8ucG9ydD0iaHR0cHMiPT09aVswXT8iNDQzIjoiODAiKSxvLmhvc3RuYW1lPWUuaG9zdG5hbWV8fG4uaG9zdG5hbWUsby5wYXRobmFtZT1lLnBhdGhuYW1lLG8ucHJvdG9jb2w9aVswXSwiLyIhPT1vLnBhdGhuYW1lLmNoYXJBdCgwKSYmKG8ucGF0aG5hbWU9Ii8iK28ucGF0aG5hbWUpO3ZhciBhPSFlLnByb3RvY29sfHwiOiI9PT1lLnByb3RvY29sfHxlLnByb3RvY29sPT09bi5wcm90b2NvbCxjPWUuaG9zdG5hbWU9PT1kb2N1bWVudC5kb21haW4mJmUucG9ydD09PW4ucG9ydDtyZXR1cm4gby5zYW1lT3JpZ2luPWEmJighZS5ob3N0bmFtZXx8YyksIi8iPT09by5wYXRobmFtZSYmKHJbdF09byksb319LHt9XSwxODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj10LnJlc3BvbnNlVHlwZTtyZXR1cm4ianNvbiI9PT1uJiZudWxsIT09ZT9lOiJhcnJheWJ1ZmZlciI9PT1ufHwiYmxvYiI9PT1ufHwianNvbiI9PT1uP28odC5yZXNwb25zZSk6InRleHQiPT09bnx8IiI9PT1ufHx2b2lkIDA9PT1uP28odC5yZXNwb25zZVRleHQpOnZvaWQgMH12YXIgbz10KDIwKTtlLmV4cG9ydHM9cn0se31dLDE5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBvKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gaSh0LFt1Lm5vdygpXS5jb25jYXQoYyhhcmd1bWVudHMpKSxlP251bGw6dGhpcyxuKSxlP3ZvaWQgMDp0aGlzfX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjgpLGM9dCgyOSkscz10KCJlZSIpLmdldCgidHJhY2VyIiksdT10KCJsb2FkZXIiKSxmPU5SRVVNOyJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93Lm5ld3JlbGljJiYobmV3cmVsaWM9Zik7dmFyIGQ9WyJzZXRQYWdlVmlld05hbWUiLCJzZXRDdXN0b21BdHRyaWJ1dGUiLCJzZXRFcnJvckhhbmRsZXIiLCJmaW5pc2hlZCIsImFkZFRvVHJhY2UiLCJpbmxpbmVIaXQiLCJhZGRSZWxlYXNlIl0scD0iYXBpLSIsbD1wKyJpeG4tIjthKGQsZnVuY3Rpb24odCxlKXtmW2VdPW8ocCtlLCEwLCJhcGkiKX0pLGYuYWRkUGFnZUFjdGlvbj1vKHArImFkZFBhZ2VBY3Rpb24iLCEwKSxmLnNldEN1cnJlbnRSb3V0ZU5hbWU9byhwKyJyb3V0ZU5hbWUiLCEwKSxlLmV4cG9ydHM9bmV3cmVsaWMsZi5pbnRlcmFjdGlvbj1mdW5jdGlvbigpe3JldHVybihuZXcgcikuZ2V0KCl9O3ZhciBoPXIucHJvdG90eXBlPXtjcmVhdGVUcmFjZXI6ZnVuY3Rpb24odCxlKXt2YXIgbj17fSxyPXRoaXMsbz0iZnVuY3Rpb24iPT10eXBlb2YgZTtyZXR1cm4gaShsKyJ0cmFjZXIiLFt1Lm5vdygpLHQsbl0sciksZnVuY3Rpb24oKXtpZihzLmVtaXQoKG8/IiI6Im5vLSIpKyJmbi1zdGFydCIsW3Uubm93KCkscixvXSxuKSxvKXRyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9Y2F0Y2godCl7dGhyb3cgcy5lbWl0KCJmbi1lcnIiLFthcmd1bWVudHMsdGhpcyx0XSxuKSx0fWZpbmFsbHl7cy5lbWl0KCJmbi1lbmQiLFt1Lm5vdygpXSxuKX19fX07YSgiYWN0aW9uVGV4dCxzZXROYW1lLHNldEF0dHJpYnV0ZSxzYXZlLGlnbm9yZSxvbkVuZCxnZXRDb250ZXh0LGVuZCxnZXQiLnNwbGl0KCIsIiksZnVuY3Rpb24odCxlKXtoW2VdPW8obCtlKX0pLG5ld3JlbGljLm5vdGljZUVycm9yPWZ1bmN0aW9uKHQsZSl7InN0cmluZyI9PXR5cGVvZiB0JiYodD1uZXcgRXJyb3IodCkpLGkoImVyciIsW3QsdS5ub3coKSwhMSxlXSl9fSx7fV0sMjA6W2Z1bmN0aW9uKHQsZSxuKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0JiZ0Lmxlbmd0aClyZXR1cm4gdC5sZW5ndGg7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZ0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJnQuYnl0ZUxlbmd0aClyZXR1cm4gdC5ieXRlTGVuZ3RoO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQmxvYiYmdCBpbnN0YW5jZW9mIEJsb2ImJnQuc2l6ZSlyZXR1cm4gdC5zaXplO2lmKCEoInVuZGVmaW5lZCIhPXR5cGVvZiBGb3JtRGF0YSYmdCBpbnN0YW5jZW9mIEZvcm1EYXRhKSl0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpLmxlbmd0aH1jYXRjaChlKXtyZXR1cm59fX19LHt9XSwyMTpbZnVuY3Rpb24odCxlLG4pe3ZhciByPTAsbz1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9GaXJlZm94W1wvXHNdKFxkK1wuXGQrKS8pO28mJihyPStvWzFdKSxlLmV4cG9ydHM9cn0se31dLDIyOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe3JldHVybiBjLmV4aXN0cyYmcGVyZm9ybWFuY2Uubm93P01hdGgucm91bmQocGVyZm9ybWFuY2Uubm93KCkpOihpPU1hdGgubWF4KChuZXcgRGF0ZSkuZ2V0VGltZSgpLGkpKS1hfWZ1bmN0aW9uIG8oKXtyZXR1cm4gaX12YXIgaT0obmV3IERhdGUpLmdldFRpbWUoKSxhPWksYz10KDMwKTtlLmV4cG9ydHM9cixlLmV4cG9ydHMub2Zmc2V0PWEsZS5leHBvcnRzLmdldExhc3RUaW1lc3RhbXA9b30se31dLDIzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtyZXR1cm4hKCF0fHwhdC5wcm90b2NvbHx8ImZpbGU6Ij09PXQucHJvdG9jb2wpfWUuZXhwb3J0cz1yfSx7fV0sMjQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5mb3JFYWNoKGZ1bmN0aW9uKHQpeyJmaXJzdC1wYWludCI9PT10Lm5hbWU/ZCgidGltaW5nIixbImZwIixNYXRoLmZsb29yKHQuc3RhcnRUaW1lKV0pOiJmaXJzdC1jb250ZW50ZnVsLXBhaW50Ij09PXQubmFtZSYmZCgidGltaW5nIixbImZjcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKX0pfWZ1bmN0aW9uIG8odCxlKXt2YXIgbj10LmdldEVudHJpZXMoKTtuLmxlbmd0aD4wJiZkKCJsY3AiLFtuW24ubGVuZ3RoLTFdXSl9ZnVuY3Rpb24gaSh0KXt0LmdldEVudHJpZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuaGFkUmVjZW50SW5wdXR8fGQoImNscyIsW3RdKX0pfWZ1bmN0aW9uIGEodCl7aWYodCBpbnN0YW5jZW9mIGgmJiF2KXt2YXIgZT1NYXRoLnJvdW5kKHQudGltZVN0YW1wKSxuPXt0eXBlOnQudHlwZX07ZTw9cC5ub3coKT9uLmZpZD1wLm5vdygpLWU6ZT5wLm9mZnNldCYmZTw9RGF0ZS5ub3coKT8oZS09cC5vZmZzZXQsbi5maWQ9cC5ub3coKS1lKTplPXAubm93KCksdj0hMCxkKCJ0aW1pbmciLFsiZmkiLGUsbl0pfX1mdW5jdGlvbiBjKHQpe2QoInBhZ2VIaWRlIixbcC5ub3coKSx0XSl9aWYoISgiaW5pdCJpbiBOUkVVTSYmInBhZ2Vfdmlld190aW1pbmciaW4gTlJFVU0uaW5pdCYmImVuYWJsZWQiaW4gTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nJiZOUkVVTS5pbml0LnBhZ2Vfdmlld190aW1pbmcuZW5hYmxlZD09PSExKSl7dmFyIHMsdSxmLGQ9dCgiaGFuZGxlIikscD10KCJsb2FkZXIiKSxsPXQoMjcpLGg9TlJFVU0uby5FVjtpZigiUGVyZm9ybWFuY2VPYnNlcnZlciJpbiB3aW5kb3cmJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuUGVyZm9ybWFuY2VPYnNlcnZlcil7cz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihyKTt0cnl7cy5vYnNlcnZlKHtlbnRyeVR5cGVzOlsicGFpbnQiXX0pfWNhdGNoKG0pe311PW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKG8pO3RyeXt1Lm9ic2VydmUoe2VudHJ5VHlwZXM6WyJsYXJnZXN0LWNvbnRlbnRmdWwtcGFpbnQiXX0pfWNhdGNoKG0pe31mPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGkpO3RyeXtmLm9ic2VydmUoe3R5cGU6ImxheW91dC1zaGlmdCIsYnVmZmVyZWQ6ITB9KX1jYXRjaChtKXt9fWlmKCJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50KXt2YXIgdj0hMSx3PVsiY2xpY2siLCJrZXlkb3duIiwibW91c2Vkb3duIiwicG9pbnRlcmRvd24iLCJ0b3VjaHN0YXJ0Il07dy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIodCxhLCExKX0pfWwoYyl9fSx7fV0sMjU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7ZnVuY3Rpb24gdCgpe3JldHVybiBlPzE1JmVbbisrXToxNipNYXRoLnJhbmRvbSgpfDB9dmFyIGU9bnVsbCxuPTAscj13aW5kb3cuY3J5cHRvfHx3aW5kb3cubXNDcnlwdG87ciYmci5nZXRSYW5kb21WYWx1ZXMmJihlPXIuZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KDMxKSkpO2Zvcih2YXIgbyxpPSJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLGE9IiIsYz0wO2M8aS5sZW5ndGg7YysrKW89aVtjXSwieCI9PT1vP2ErPXQoKS50b1N0cmluZygxNik6InkiPT09bz8obz0zJnQoKXw4LGErPW8udG9TdHJpbmcoMTYpKTphKz1vO3JldHVybiBhfWZ1bmN0aW9uIG8oKXtyZXR1cm4gYSgxNil9ZnVuY3Rpb24gaSgpe3JldHVybiBhKDMyKX1mdW5jdGlvbiBhKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbj8xNSZuW3IrK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBuPW51bGwscj0wLG89d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO28mJm8uZ2V0UmFuZG9tVmFsdWVzJiZVaW50OEFycmF5JiYobj1vLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIGk9W10sYT0wO2E8dDthKyspaS5wdXNoKGUoKS50b1N0cmluZygxNikpO3JldHVybiBpLmpvaW4oIiIpfWUuZXhwb3J0cz17Z2VuZXJhdGVVdWlkOnIsZ2VuZXJhdGVTcGFuSWQ6byxnZW5lcmF0ZVRyYWNlSWQ6aX19LHt9XSwyNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXtpZighbylyZXR1cm4hMTtpZih0IT09bylyZXR1cm4hMTtpZighZSlyZXR1cm4hMDtpZighaSlyZXR1cm4hMTtmb3IodmFyIG49aS5zcGxpdCgiLiIpLHI9ZS5zcGxpdCgiLiIpLGE9MDthPHIubGVuZ3RoO2ErKylpZihyW2FdIT09blthXSlyZXR1cm4hMTtyZXR1cm4hMH12YXIgbz1udWxsLGk9bnVsbCxhPS9WZXJzaW9uXC8oXFMrKVxzK1NhZmFyaS87aWYobmF2aWdhdG9yLnVzZXJBZ2VudCl7dmFyIGM9bmF2aWdhdG9yLnVzZXJBZ2VudCxzPWMubWF0Y2goYSk7cyYmYy5pbmRleE9mKCJDaHJvbWUiKT09PS0xJiZjLmluZGV4T2YoIkNocm9taXVtIik9PT0tMSYmKG89IlNhZmFyaSIsaT1zWzFdKX1lLmV4cG9ydHM9e2FnZW50Om8sdmVyc2lvbjppLG1hdGNoOnJ9fSx7fV0sMjc6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2Z1bmN0aW9uIGUoKXt0KGEmJmRvY3VtZW50W2FdP2RvY3VtZW50W2FdOmRvY3VtZW50W29dPyJoaWRkZW4iOiJ2aXNpYmxlIil9ImFkZEV2ZW50TGlzdGVuZXIiaW4gZG9jdW1lbnQmJmkmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoaSxlLCExKX1lLmV4cG9ydHM9cjt2YXIgbyxpLGE7InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudC5oaWRkZW4/KG89ImhpZGRlbiIsaT0idmlzaWJpbGl0eWNoYW5nZSIsYT0idmlzaWJpbGl0eVN0YXRlIik6InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudC5tc0hpZGRlbj8obz0ibXNIaWRkZW4iLGk9Im1zdmlzaWJpbGl0eWNoYW5nZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQud2Via2l0SGlkZGVuJiYobz0id2Via2l0SGlkZGVuIixpPSJ3ZWJraXR2aXNpYmlsaXR5Y2hhbmdlIixhPSJ3ZWJraXRWaXNpYmlsaXR5U3RhdGUiKX0se31dLDI4OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPVtdLHI9IiIsaT0wO2ZvcihyIGluIHQpby5jYWxsKHQscikmJihuW2ldPWUocix0W3JdKSxpKz0xKTtyZXR1cm4gbn12YXIgbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2UuZXhwb3J0cz1yfSx7fV0sMjk6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuKXtlfHwoZT0wKSwidW5kZWZpbmVkIj09dHlwZW9mIG4mJihuPXQ/dC5sZW5ndGg6MCk7Zm9yKHZhciByPS0xLG89bi1lfHwwLGk9QXJyYXkobzwwPzA6byk7KytyPG87KWlbcl09dFtlK3JdO3JldHVybiBpfWUuZXhwb3J0cz1yfSx7fV0sMzA6W2Z1bmN0aW9uKHQsZSxuKXtlLmV4cG9ydHM9e2V4aXN0czoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydH19LHt9XSxlZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0KXtmdW5jdGlvbiBlKHQpe3JldHVybiB0JiZ0IGluc3RhbmNlb2Ygcj90OnQ/dSh0LHMsYSk6YSgpfWZ1bmN0aW9uIG4obixyLG8saSxhKXtpZihhIT09ITEmJihhPSEwKSwhbC5hYm9ydGVkfHxpKXt0JiZhJiZ0KG4scixvKTtmb3IodmFyIGM9ZShvKSxzPW0obiksdT1zLmxlbmd0aCxmPTA7Zjx1O2YrKylzW2ZdLmFwcGx5KGMscik7dmFyIHA9ZFt5W25dXTtyZXR1cm4gcCYmcC5wdXNoKFt4LG4scixjXSksY319ZnVuY3Rpb24gaSh0LGUpe2dbdF09bSh0KS5jb25jYXQoZSl9ZnVuY3Rpb24gaCh0LGUpe3ZhciBuPWdbdF07aWYobilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdPT09ZSYmbi5zcGxpY2UociwxKX1mdW5jdGlvbiBtKHQpe3JldHVybiBnW3RdfHxbXX1mdW5jdGlvbiB2KHQpe3JldHVybiBwW3RdPXBbdF18fG8obil9ZnVuY3Rpb24gdyh0LGUpe2YodCxmdW5jdGlvbih0LG4pe2U9ZXx8ImZlYXR1cmUiLHlbbl09ZSxlIGluIGR8fChkW2VdPVtdKX0pfXZhciBnPXt9LHk9e30seD17b246aSxhZGRFdmVudExpc3RlbmVyOmkscmVtb3ZlRXZlbnRMaXN0ZW5lcjpoLGVtaXQ6bixnZXQ6dixsaXN0ZW5lcnM6bSxjb250ZXh0OmUsYnVmZmVyOncsYWJvcnQ6YyxhYm9ydGVkOiExfTtyZXR1cm4geH1mdW5jdGlvbiBpKHQpe3JldHVybiB1KHQscyxhKX1mdW5jdGlvbiBhKCl7cmV0dXJuIG5ldyByfWZ1bmN0aW9uIGMoKXsoZC5hcGl8fGQuZmVhdHVyZSkmJihsLmFib3J0ZWQ9ITAsZD1sLmJhY2tsb2c9e30pfXZhciBzPSJuckBjb250ZXh0Iix1PXQoImdvcyIpLGY9dCgyOCksZD17fSxwPXt9LGw9ZS5leHBvcnRzPW8oKTtlLmV4cG9ydHMuZ2V0T3JTZXRDb250ZXh0PWksbC5iYWNrbG9nPWR9LHt9XSxnb3M6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuKXtpZihvLmNhbGwodCxlKSlyZXR1cm4gdFtlXTt2YXIgcj1uKCk7aWYoT2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3Qua2V5cyl0cnl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOnIsd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMX0pLHJ9Y2F0Y2goaSl7fXJldHVybiB0W2VdPXIscn12YXIgbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2UuZXhwb3J0cz1yfSx7fV0saGFuZGxlOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbixyKXtvLmJ1ZmZlcihbdF0sciksby5lbWl0KHQsZSxuKX12YXIgbz10KCJlZSIpLmdldCgiaGFuZGxlIik7ZS5leHBvcnRzPXIsci5lZT1vfSx7fV0saWQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiF0fHwib2JqZWN0IiE9PWUmJiJmdW5jdGlvbiIhPT1lPy0xOnQ9PT13aW5kb3c/MDphKHQsaSxmdW5jdGlvbigpe3JldHVybiBvKyt9KX12YXIgbz0xLGk9Im5yQGlkIixhPXQoImdvcyIpO2UuZXhwb3J0cz1yfSx7fV0sbG9hZGVyOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2lmKCFFKyspe3ZhciB0PWIuaW5mbz1OUkVVTS5pbmZvLGU9bC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07aWYoc2V0VGltZW91dCh1LmFib3J0LDNlNCksISh0JiZ0LmxpY2Vuc2VLZXkmJnQuYXBwbGljYXRpb25JRCYmZSkpcmV0dXJuIHUuYWJvcnQoKTtzKHksZnVuY3Rpb24oZSxuKXt0W2VdfHwodFtlXT1uKX0pO3ZhciBuPWEoKTtjKCJtYXJrIixbIm9ubG9hZCIsbitiLm9mZnNldF0sbnVsbCwiYXBpIiksYygidGltaW5nIixbImxvYWQiLG5dKTt2YXIgcj1sLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Iuc3JjPSJodHRwczovLyIrdC5hZ2VudCxlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHIsZSl9fWZ1bmN0aW9uIG8oKXsiY29tcGxldGUiPT09bC5yZWFkeVN0YXRlJiZpKCl9ZnVuY3Rpb24gaSgpe2MoIm1hcmsiLFsiZG9tQ29udGVudCIsYSgpK2Iub2Zmc2V0XSxudWxsLCJhcGkiKX12YXIgYT10KDIyKSxjPXQoImhhbmRsZSIpLHM9dCgyOCksdT10KCJlZSIpLGY9dCgyNiksZD10KDIzKSxwPXdpbmRvdyxsPXAuZG9jdW1lbnQsaD0iYWRkRXZlbnRMaXN0ZW5lciIsbT0iYXR0YWNoRXZlbnQiLHY9cC5YTUxIdHRwUmVxdWVzdCx3PXYmJnYucHJvdG90eXBlO2lmKGQocC5sb2NhdGlvbikpe05SRVVNLm89e1NUOnNldFRpbWVvdXQsU0k6cC5zZXRJbW1lZGlhdGUsQ1Q6Y2xlYXJUaW1lb3V0LFhIUjp2LFJFUTpwLlJlcXVlc3QsRVY6cC5FdmVudCxQUjpwLlByb21pc2UsTU86cC5NdXRhdGlvbk9ic2VydmVyfTt2YXIgZz0iIitsb2NhdGlvbix5PXtiZWFjb246ImJhbS5uci1kYXRhLm5ldCIsZXJyb3JCZWFjb246ImJhbS5uci1kYXRhLm5ldCIsYWdlbnQ6ImpzLWFnZW50Lm5ld3JlbGljLmNvbS9uci1zcGEtMTIwOC5taW4uanMifSx4PXYmJncmJndbaF0mJiEvQ3JpT1MvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksYj1lLmV4cG9ydHM9e29mZnNldDphLmdldExhc3RUaW1lc3RhbXAoKSxub3c6YSxvcmlnaW46ZyxmZWF0dXJlczp7fSx4aHJXcmFwcGFibGU6eCx1c2VyQWdlbnQ6Zn07dCgxOSksdCgyNCksbFtoXT8obFtoXSgiRE9NQ29udGVudExvYWRlZCIsaSwhMSkscFtoXSgibG9hZCIsciwhMSkpOihsW21dKCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLHBbbV0oIm9ubG9hZCIscikpLGMoIm1hcmsiLFsiZmlyc3RieXRlIixhLmdldExhc3RUaW1lc3RhbXAoKV0sbnVsbCwiYXBpIik7dmFyIEU9MH19LHt9XSwid3JhcC1mdW5jdGlvbiI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZnVuY3Rpb24gbihlLG4scixzLHUpe2Z1bmN0aW9uIG5yV3JhcHBlcigpe3ZhciBpLGEsZixwO3RyeXthPXRoaXMsaT1kKGFyZ3VtZW50cyksZj0iZnVuY3Rpb24iPT10eXBlb2Ygcj9yKGksYSk6cnx8e319Y2F0Y2gobCl7byhbbCwiIixbaSxhLHNdLGZdLHQpfWMobisic3RhcnQiLFtpLGEsc10sZix1KTt0cnl7cmV0dXJuIHA9ZS5hcHBseShhLGkpfWNhdGNoKGgpe3Rocm93IGMobisiZXJyIixbaSxhLGhdLGYsdSksaH1maW5hbGx5e2MobisiZW5kIixbaSxhLHBdLGYsdSl9fXJldHVybiBhKGUpP2U6KG58fChuPSIiKSxucldyYXBwZXJbcF09ZSxpKGUsbnJXcmFwcGVyLHQpLG5yV3JhcHBlcil9ZnVuY3Rpb24gcih0LGUscixvLGkpe3J8fChyPSIiKTt2YXIgYyxzLHUsZj0iLSI9PT1yLmNoYXJBdCgwKTtmb3IodT0wO3U8ZS5sZW5ndGg7dSsrKXM9ZVt1XSxjPXRbc10sYShjKXx8KHRbc109bihjLGY/cytyOnIsbyxzLGkpKX1mdW5jdGlvbiBjKG4scixpLGEpe2lmKCFofHxlKXt2YXIgYz1oO2g9ITA7dHJ5e3QuZW1pdChuLHIsaSxlLGEpfWNhdGNoKHMpe28oW3MsbixyLGldLHQpfWg9Y319cmV0dXJuIHR8fCh0PWYpLG4uaW5QbGFjZT1yLG4uZmxhZz1wLG59ZnVuY3Rpb24gbyh0LGUpe2V8fChlPWYpO3RyeXtlLmVtaXQoImludGVybmFsLWVycm9yIix0KX1jYXRjaChuKXt9fWZ1bmN0aW9uIGkodCxlLG4pe2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3ZhciByPU9iamVjdC5rZXlzKHQpO3JldHVybiByLmZvckVhY2goZnVuY3Rpb24obil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19LHNldDpmdW5jdGlvbihlKXtyZXR1cm4gdFtuXT1lLGV9fSl9KSxlfWNhdGNoKGkpe28oW2ldLG4pfWZvcih2YXIgYSBpbiB0KWwuY2FsbCh0LGEpJiYoZVthXT10W2FdKTtyZXR1cm4gZX1mdW5jdGlvbiBhKHQpe3JldHVybiEodCYmdCBpbnN0YW5jZW9mIEZ1bmN0aW9uJiZ0LmFwcGx5JiYhdFtwXSl9ZnVuY3Rpb24gYyh0LGUpe3ZhciBuPWUodCk7cmV0dXJuIG5bcF09dCxpKHQsbixmKSxufWZ1bmN0aW9uIHModCxlLG4pe3ZhciByPXRbZV07dFtlXT1jKHIsbil9ZnVuY3Rpb24gdSgpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLGU9bmV3IEFycmF5KHQpLG49MDtuPHQ7KytuKWVbbl09YXJndW1lbnRzW25dO3JldHVybiBlfXZhciBmPXQoImVlIiksZD10KDI5KSxwPSJuckBvcmlnaW5hbCIsbD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGg9ITE7ZS5leHBvcnRzPXIsZS5leHBvcnRzLndyYXBGdW5jdGlvbj1jLGUuZXhwb3J0cy53cmFwSW5QbGFjZT1zLGUuZXhwb3J0cy5hcmdzVG9BcnJheT11fSx7fV19LHt9LFsibG9hZGVyIiwyLDE2LDUsMyw0XSk7CjtOUkVVTS5sb2FkZXJfY29uZmlnPXthY2NvdW50SUQ6IjM5Mjg0Iix0cnVzdEtleToiMzkyODQiLGFnZW50SUQ6Ijc0NDc0NjgiLGxpY2Vuc2VLZXk6IjY4OWQ1YjQ1NjIiLGFwcGxpY2F0aW9uSUQ6IjIwMTEyMjQifQo7TlJFVU0uaW5mbz17YmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsZXJyb3JCZWFjb246ImJhbS1jZWxsLm5yLWRhdGEubmV0IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0IixzYToxfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogIGlmKHdpbmRvdy5uZXdyZWxpYyl7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgnY29udHJvbGxlcl92aWV3JywgJ1ZpbWVvXENvbnRyb2xsZXJcQ2xpcENvbnRyb2xsZXJfbWFpbicpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ3VzZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgnYWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ3RlYW1Pd25lcklkJywgJzAnKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJBY2NvdW50VHlwZScsICdVTktOT1dOJyk7fTsKPC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvZ2xvYmFsL2ljb25fZm9udHNfNjhlZmYzOTQ3Mjk4MDYzMGM1YTA4MzJhMmQ0Mzk2YzYubWluLmNzcyI+CgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2NsaXBfYmV0YV9jb21iaW5lZF9mOTI2MTYxZGE3ZDNkYzk0MjU2YTgxMmU4YjYxNTcxYy5taW4uY3NzIj4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC90b3BuYXZfY2FydF9idXR0b25fZmRkYTViZWYxYTExNmYwODc4ZDhiMjFmZGExZDU4MTUubWluLmNzcyI+CgoKCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAKICAgICAgICB2YXIgcGxheWVyQXNzZXRVcmxzID0geyJiYXJlYm9uZV9qcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvanNcL2JhcmVib25lLmpzIiwiY2hyb21lbGVzc19qcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvanNcL2Nocm9tZWxlc3MuanMiLCJjaHJvbWVsZXNzX2NzcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvY3NzXC9jaHJvbWVsZXNzLmNzcyIsImNzcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvY3NzXC9wbGF5ZXIuY3NzIiwianMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9wbGF5ZXIuanMiLCJwbGF5ZXJfdXJsIjoicGxheWVyLnZpbWVvLmNvbSJ9OwoKICAgICAgICB2YXIgX2V4dGVuZCA9IGZ1bmN0aW9uKCl7Zm9yKHZhciByPWFyZ3VtZW50c1swXSxuPTEsZT1hcmd1bWVudHMubGVuZ3RoO2U+bjtuKyspe3ZhciB0PWFyZ3VtZW50c1tuXTtmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiYoclthXT10W2FdKX1yZXR1cm4gcn07CgogICAgICAgICAgICB3aW5kb3cgPSBfZXh0ZW5kKHdpbmRvdywgeyJ2aW1lb19lc2kiOnsiY29uZmlnIjp7InJvdXRlIjoiVmltZW9cXENvbnRyb2xsZXJcXENsaXBDb250cm9sbGVyOm1haW4iLCJjb250cm9sbGVyIjoiVmltZW9cXENvbnRyb2xsZXJcXENsaXBDb250cm9sbGVyIiwiYXV0b2NvbXBsZXRlX2VuYWJsZWQiOnRydWUsIm9uc2l0ZV9yZWZlcnJlciI6ZmFsc2V9fSwiYWJsaW5jb2xuX2NvbmZpZyI6W10sInZpbWVvIjp7ImNvbmZpZyI6eyJjYXJ0Ijp7ImNhcnRfY29udGVudCI6eyJzdG9jayI6eyJzdG9yZSI6InN0b2NrIiwidmVyc2lvbiI6MSwicXVhbnRpdGllcyI6W10sIml0ZW1zIjpbXSwiYXR0cmlidXRlcyI6W10sImN1cnJlbmN5IjoiQ0hGIiwiaXRlbXNfc29ydGVkX2J5X2luZGV4IjpbXSwiaXRlbXNfY291bnQiOjB9fX19fX0pOwo8L3NjcmlwdD4KCiAgICAgICAgCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBhYmxpbmNvbG5fY29uZmlnID0gYWJsaW5jb2xuX2NvbmZpZyB8fCB7fTsKICAgICAgICBhYmxpbmNvbG5fY29uZmlnLnRlc3RzID0geyJKUy5XaXphcmQuRGVwcmVjYXRpb24iOnsiaWQiOjEwNzcsIm5hbWUiOiJKUy5XaXphcmQuRGVwcmVjYXRpb24iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvdGVtcGxhdGVzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTI2LCJuYW1lIjoic2hvd193aXphcmQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xNSAxMDowNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDU3LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo1MDB9LHsiaWQiOjUwNTgsIm5hbWUiOiJzaG93X3dpemFyZCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjUwMH1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNlYXJjaC5QcmVjaXNpb24iOnsiaWQiOjEwNzYsIm5hbWUiOiJKUy5TZWFyY2guUHJlY2lzaW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMxMjEsIm5hbWUiOiJwcmVjaXNpb24gc2VhcmNoIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNToyNjowNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDQxLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA0MiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDMsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ0LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA0NSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTI1LCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCA4MCUiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTExIDEyOjIyOjIwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNTIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDUzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX0seyJpZCI6NTA1NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjIiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIzIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU2LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiOCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5CcmVhZGNydW1icy5GaWxlQWN0aW9uc01lbnUiOnsiaWQiOjEwNzIsIm5hbWUiOiJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA5OCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjEgMDY6Mjg6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMTAtMjIgMDU6MDg6MzQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxMiwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMTMsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE0LCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudDIiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTI4LCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwMDAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMjMgMDE6NTA6NTEiLCJwYXVzZWRfb24iOiIyMDIzLTEwLTIzIDAyOjQyOjUwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA2MSwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRjJQLlBpbG90Ijp7ImlkIjoxMDcwLCJuYW1lIjoiSlMuRjJQLlBpbG90IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTYsIm5hbWUiOiIyJSAtIEYyUCBFeHBlcmltZW50IFJvbGxvdXQgLSBKUyIsImJ1Y2tldHMiOjIwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wMyAwNTo0ODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDA4LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAwOSwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTE1LCJuYW1lIjoiKyA4JSAtIEYyUCBFeHBlcmltZW50IFJvbGxvdXQgLSBKUyIsImJ1Y2tldHMiOjgwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wMyAxMToyOTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDMyLCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzMywibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTE5LCJuYW1lIjoiKyA0MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo0MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA0IDE0OjMxOjUxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMzcsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDM4LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMxMjMsIm5hbWUiOiIrIDUwJSAtIEYyUCBFeHBlcmltZW50IFJvbGxvdXQgLSBKUyIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDUgMTk6MTY6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0OCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRnJlZVRyaWFsLkV4Y2x1ZGVSZXN0cmljdGVkQ291bnRyaWVzIjp7ImlkIjoxMDY3LCJuYW1lIjoiSlMuRnJlZVRyaWFsLkV4Y2x1ZGVSZXN0cmljdGVkQ291bnRyaWVzIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwODgsIm5hbWUiOiJSdW4gVGVzdCBhdCAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTE4IDA4OjU5OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ5OTQsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk5NSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA5OSwibmFtZSI6IiogUnVuIFRlc3QgYXQgOTAlIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0yMiAxNDozMzozMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDE1LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMTYsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIjp7ImlkIjoxMDU4LCJuYW1lIjoiSlMuQ2hlY2tvdXQuUGF5UGFsLkRlZmF1bHRGb3JGcmVlVHJpYWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcL3N0b3JlXC8qIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDY2LCJuYW1lIjoiKiAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA4LTIyIDE0OjE0OjQwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ5NjcsIm5hbWUiOiJkZWZhdWx0X3BheXBhbF9mb3JfZnJlZV90cmlhbCIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5NjgsIm5hbWUiOiJkZWZhdWx0X3BheXBhbF9mb3JfZnJlZV90cmlhbCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNjQsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkZSIiwiREUiLCJJVCIsIkdCIl19XX0seyJpZCI6MzA3MSwibmFtZSI6IiogOTAlIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yNCAwOTowMToxMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTc1LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTc2LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19XX0sIkpTLkVkaXRvci5WMi5TdGFmZlJvbGxvdXQiOnsiaWQiOjEwNTUsIm5hbWUiOiJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA1OCwibmFtZSI6ImVkaXRvcl8yX3N0YWZmIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0xNSAxMDo0ODozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyMDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTU2LCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfSx7ImlkIjo0OTU3LCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoyMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDgzLCJuYW1lIjoiKiBlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTAzIDA3OjI1OjM3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ5OTEsIm5hbWUiOiJlZGl0b3JfMiIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjEwMDB9LHsiaWQiOjQ5OTIsIm5hbWUiOiJlZGl0b3JfMiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfV19LCJKUy5MSUhQLkNyZWF0ZVF1aWNrbGlua0NUQVRlc3QiOnsiaWQiOjEwNDYsIm5hbWUiOiJKUy5MSUhQLkNyZWF0ZVF1aWNrbGlua0NUQVRlc3QiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzAyOCwibmFtZSI6IjEwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMCAxMDoxNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowNzo1NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTE0LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDkxNSwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDc4LCJuYW1lIjoiNTAlIHJvbGxvdXQgLSBVcGRhdGUgQ3JlYXRlIG9uZSBjbGljayBDVEEiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA4LTMxIDEyOjI1OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA5LTE4IDEwOjA4OjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ5ODYsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTg3LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTUsIm5hbWUiOiIxMDAlIHJvbGxvdXQgLSBVcGRhdGUgQ3JlYXRlIG9uZSBjbGljayBDVEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0yNyAxMjo1NTo0OCIsInBhcmFtZXRlcnMiOltdLCJzZWdtZW50cyI6W119LHsiaWQiOjMxMDUsIm5hbWUiOiIxMDAlIHJvbGxvdXQgdGFrZSAyIC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTY6MDQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAyMiwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyI6eyJpZCI6MTA0MiwibmFtZSI6IkpTLlNWVi5OZXdUcmltbWVyLkhpZGVUb3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzAxNiwibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xOSAwODozNTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODk3LCJuYW1lIjoiaGlkZV90dmVfdG91cnBvaW50cyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5OZXdUcmltbWVyLlJvbGxvdXQiOnsiaWQiOjEwNDEsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzAxNSwibmFtZSI6Im5ld190cmltbWVyX3JvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xOCAwNzozMzozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODk2LCJuYW1lIjoibmV3X3RyaW1tZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5yZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZXVzZXJzIjp7ImlkIjoxMDQwLCJuYW1lIjoiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTg0LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMDMgMTA6NTA6MTkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDctMTEgMTA6NTQ6NDgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg2NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg2NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwMTEsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZXVzZXJzMSIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjU3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTE3IDA1OjA1OjUyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4ODgsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4ODksIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDE3LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNzozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODk4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0ODk5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0Ijp7ImlkIjoxMDMxLCJuYW1lIjoiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvcmVjb3JkXC9zdGFydC1yZWNvcmRpbmciLCJleHBlcmltZW50cyI6W3siaWQiOjI5NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJidWNrZXRzIjo0MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTE0IDA4OjI2OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTI3IDA4OjQ4OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NDAsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODQxLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5NzYsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQyIiwiYnVja2V0cyI6NjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xOCAwNDoxNDo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODU0LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg1NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTg1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTI3IDA4OjQ5OjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjYsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLlJldk1hbnVhbENhcHRpb25zIjp7ImlkIjoxMDIwLCJuYW1lIjoiSlMuU1ZWLlJldk1hbnVhbENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjkxOSwibmFtZSI6IlJldiBNYW51YWwgQ2FwdGlvbnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xMyAwODo0NjoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc4LCJuYW1lIjoicmV2X21hbnVhbF9jYXB0aW9ucyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCI6eyJpZCI6MTAxNiwibmFtZSI6IkpTLk1vYmlsZS5DbGlwLkJhbm5lckpvaW5QYXRoIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC86Y2xpcElkIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODk2LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIiwiYnVja2V0cyI6MCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTYgMTQ6MzI6NTkiLCJwYXVzZWRfb24iOiIyMDIzLTA1LTE2IDE2OjIyOjA1Iiwic3RvcHBlZF9vbiI6IjIwMjMtMDUtMTYgMTY6Mjk6MzUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc1MywibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDc1NCwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0MiwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFUIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkhVIiwiSVMiLCJJVCIsIkxWIiwiTEkiLCJMVCIsIkxVIiwiTVQiLCJOTCIsIk5PIiwiUEwiLCJQVCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJHQiJdfV19LHsiaWQiOjI5MjcsIm5hbWUiOiJNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE2OjM3OjI2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI0OjUwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3ODcsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3ODgsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDUsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVCIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJTSSIsIkVTIiwiU0UiLCJDSCIsIlRSIiwiR0IiLCJWQSJdfV19LHsiaWQiOjI5MzksIm5hbWUiOiIqIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDI1JSIsImJ1Y2tldHMiOjE1MCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMTE6MzU6MDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDUgMTY6MjU6MTEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwNSwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDgwNiwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0NywidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFMIiwiQVQiLCJCWSIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJHTCIsIklTIiwiSUUiLCJJTSIsIklUIiwiTFYiLCJMSSIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJTSSIsIkVTIiwiU0UiLCJDSCIsIlRSIiwiR0IiLCJWQSJdfV19LHsiaWQiOjI5NDMsIm5hbWUiOiIgTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAwJSIsImJ1Y2tldHMiOjc1MCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMjIgMTM6MTY6MTAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDUgMTY6MjU6MjQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwOSwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDgxMCwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0OCwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFMIiwiQVQiLCJCWSIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJHTCIsIklTIiwiSUUiLCJJTSIsIklUIiwiTFYiLCJMSSIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTY0LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0tIDEwMCAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMDUgMTY6Mjg6NDEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgzOSwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM1MywidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFMIiwiQVQiLCJCWSIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJHTCIsIklTIiwiSUUiLCJJTSIsIklUIiwiTFYiLCJMSSIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJTSSIsIkVTIiwiU0UiLCJDSCIsIlRSIiwiR0IiLCJWQSJdfV19XX0sIkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIjp7ImlkIjoxMDEwLCJuYW1lIjoiSlMuQnVpbGRlci5UZXN0LjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9zdGFnaW5nLXRlc3RcL2FibGluY29sbi1sb2NhbGVzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODc4LCJuYW1lIjoiQnVpbGRlclNlZ21lbnRUZXN0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTMgMTM6MTQ6NDgiLCJwYXVzZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjE2Iiwic3RvcHBlZF9vbiI6IjIwMjMtMDQtMTMgMTQ6MDg6MjYiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjoyODgwLCJuYW1lIjoiQnVpbGRlclNlZ21lbnRUZXN0MiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDE0OjI5OjI5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MzIsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ3MzMsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uT3ZlcmxheVZzSW5saW5lSW50ZWdyYXRpb25zIjp7ImlkIjo5OTUsIm5hbWUiOiJKUy5SZWNvcmRFeHRlbnNpb24uT3ZlcmxheVZzSW5saW5lSW50ZWdyYXRpb25zIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI4MTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIElubGluZSB2cyBPdmVybGF5IEludGVncmF0aW9ucyB0ZXN0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMjcgMDc6NTE6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMjcgMDc6NTk6NDQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY0MSwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2NDIsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjgxOSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA4OjAwOjAzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE1IDA1OjA0OjUyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDMsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NjQ0LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTMsIm5hbWUiOiIqICogUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjA5OjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTcsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njk4LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciI6eyJpZCI6OTkyLCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlBob3RvQXZhdGFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI4MTcsIm5hbWUiOiJQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA4OjM1OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wMi0yNyAwODozNjo1NCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA4OjM3OjI4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MzksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjAsIm5hbWUiOiIqIFBBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMjcgMDk6MDk6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMjcgMDk6MTE6NDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY0NSwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2NDYsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjgyMSwibmFtZSI6IiogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTA2IDA5OjA4OjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTEwIDA0OjEzOjA4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDcsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg1NiwibmFtZSI6IiogKiAqIFBBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMjMgMTg6MTE6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY5OSwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDAsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuVm9kU2FsZXNUYXguRW5hYmxlZCI6eyJpZCI6OTg2LCJuYW1lIjoiSlMuQ2hlY2tvdXQuVm9kU2FsZXNUYXguRW5hYmxlZCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjgwMywibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMDcgMTA6MDg6NTUiLCJwYXVzZWRfb24iOiIyMDIzLTAzLTA3IDE2OjQ1OjM5Iiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMDkgMTI6MTg6MjQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDYyMCwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTE4LCJuYW1lIjoiVk9EIFNhbGVzIFRheCBGZWF0dXJlIEZsYWcgZm9yIFByZWNhbGMgMiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTExIDEyOjQ5OjUwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE5IDA2OjAwOjAxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NzcsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkzNCwibmFtZSI6IkVuYWJsZSBWT0QgVGF4ZXMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xOSAwNzoyMjo1NCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODAyLCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCI6eyJpZCI6OTg1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLkRlc2t0b3BSb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9yZWNvcmRcL2F1dGgtY29tcGxldGUiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDIsIm5hbWUiOiJEZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTIwIDE0OjU3OjE3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTIxIDE0OjAwOjI4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTgsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjE5LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4ODksIm5hbWUiOiJEZXNrdG9wUm9sbG91dF8xMDAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzQ0LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDc0NSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuU21hcnRDcm9wIjp7ImlkIjo5ODIsIm5hbWUiOiJKUy5FZGl0b3IuU21hcnRDcm9wIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzk4LCJuYW1lIjoic21hcnRfY3JvcCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMTYgMDI6MzQ6MzgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDYxMCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9LHsiaWQiOjQ2MTEsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbeyJpZCI6MzI5LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiVVMiXX1dfSx7ImlkIjoyODgyLCJuYW1lIjoiKiBzbWFydF9jcm9wIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xNiAwODozOToxOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNCAwOTo1ODoxOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzM2LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjQwMH0seyJpZCI6NDczNywibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo0MDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTU1LCJuYW1lIjoiKiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA0IDEyOjAzOjUwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MjksIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLk1hcmtldGluZy5QcmljaW5nLk1vZHVsZS4yMDIzLlYxIjp7ImlkIjo5NzgsIm5hbWUiOiJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdCIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE1IDE2OjIwOjI4IiwicGF1c2VkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo0OCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE1IDE3OjAyOjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MDEsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2MDIsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODQyLCJuYW1lIjoiNTBcLzUwIE1hcmtldGluZyBQcmljaW5nIE1vZHVsZSBUZXN0LlYxIiwiYnVja2V0cyI6MTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE1IDE3OjA0OjUxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE2IDE1OjQ5OjMwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NzcsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2NzgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODQ1LCJuYW1lIjoiNTBcLzUwIE1hcmtldGluZyBQcmljaW5nIE1vZHVsZSBUZXN0LlYyIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNyAwODo0NDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNyAxMzoxMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjgzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njg0LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzM1LCJ0eXBlIjoibGFuZ3VhZ2UiLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiZXMiLCJkZS1ERSIsImZyLUZSIiwiamEtSlAiLCJwdC1CUiIsImtvLUtSIl19XX0seyJpZCI6Mjg0NywibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTg6MjQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MjE6MDUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4NSwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNiwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbImVuIl19XX0seyJpZCI6Mjg2MSwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTAgMTM6NTU6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDQtMTAgMTY6MDc6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDcwOCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDcwOSwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiR0IiLCJVUyJdfV19LHsiaWQiOjI4NjgsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMgLSB2MiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTAgMTU6MjM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDQtMTAgMTY6MDc6MzIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDcxOCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDcxOSwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0MCwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiR0IiLCJVUyJdfV19LHsiaWQiOjI4NjksIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMgLSB2MyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA5OjQ4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjE4OjA2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MjAsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MjEsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODc0LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjQiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEyIDE1OjA1OjQwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTI4IDExOjIyOjUxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MjgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MjksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODc2LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjUiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDExOjE3OjQ4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTI4IDExOjIzOjE2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MzAsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MzEsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTkwLCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgSDEtcm9sbCBvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yOCAxMToyNDoxOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODcyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLkRpc2FibGVUVkUiOnsiaWQiOjk3NiwibmFtZSI6IkpTLkVkaXRvci5EaXNhYmxlVFZFIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc3MSwibmFtZSI6ImRpc2FibGVfdHZlIiwiYnVja2V0cyI6MSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTMgMDk6MDE6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU2NCwibmFtZSI6ImRpc2FibGVfdHZlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU2NSwibmFtZSI6ImRpc2FibGVfdHZlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MTAwMDAwMDAwMH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5BZGRUZXh0U2lkZVBhbmVsIjp7ImlkIjo5NzMsIm5hbWUiOiJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc2MiwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImJ1Y2tldHMiOjEsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTExIDEwOjE5OjM0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA0OjEzIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NDgsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTQ5LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzAsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDIwMCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTIgMDM6MDU6MjQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMjYgMDI6MzM6MTkiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU2MiwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc3OSwibmFtZSI6IjQgZGVmYXVsdCB0ZXh0IHNpemUgMTAwMCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMjAgMDY6NDk6NTkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMjYgMDI6MzM6MTQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MywibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NzQsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NCwibmFtZSI6IjQgZGVmYXVsdCB0ZXh0IHNpemUgMTAwMCB2YXJpYW50IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMjYgMDI6MzU6MjciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3NiwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5CdWlsZGVyaW8uQWJUZXN0Ijp7ImlkIjo5NzEsIm5hbWUiOiJKUy5CdWlsZGVyaW8uQWJUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jbXMtYWJ0ZXN0IiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzU5LCJuYW1lIjoiRGF0YSBmbG93IENNUyBBXC9CIHRlc3QiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTA1IDAwOjE0OjQzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NDIsIm5hbWUiOiJzaG93X3BhZ2UiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTQzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5UZW1wbGF0ZXNJbnNwZWN0b3IiOnsiaWQiOjk2NiwibmFtZSI6IkpTLkVkaXRvci5UZW1wbGF0ZXNJbnNwZWN0b3IiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3MjAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMyAwNjozOToxMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMS0wMyAwOTowMzoxNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDk4LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ5OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0wMyAwOTowNzoyMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMS0wOCAwNDoxODoxNyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDU4MCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg3LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzIwMCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTk6NDQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTMgMDI6MTc6NDIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU4MSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1ODIsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl80MDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTEwIDA1OjI5OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjMzIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg0LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfMTAwMCIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMTEgMDM6MzE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTMgMDI6MTc6MjUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU4NSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1ODYsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjgxMywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl9jbG9kZSBvbiB2YXJpYW50ICIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE4OjMwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MzEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIjp7ImlkIjo5NTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5NZW1iZXJzaGlwUGxhbi5EaXNhYmxlQXV0b1JlbmV3UmVkZXNpZ24iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3NldHRpbmdzXC9iaWxsaW5nXC9tZW1iZXJzaGlwX3BsYW4iLCJleHBlcmltZW50cyI6W3siaWQiOjI2OTcsIm5hbWUiOiJTaG93IHJlZGVzaWduZWQgRGlzYWJsZSBhdXRvIHJlbmV3IG1vZGFsIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMSAxNTozNTozNyIsInBhdXNlZF9vbiI6IjIwMjMtMDItMTcgMTM6MTU6MTAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDYwLCJuYW1lIjoiZGlzYWJsZV9hdXRvX3JlbmV3X3JlZGVzaWduIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ2MSwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSI6eyJpZCI6OTQzLCJuYW1lIjoiSlMuVk0uSW52aXRlSW5FbXB0eVN0YXRlIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjY1NiwibmFtZSI6Ikludml0ZSBpbiBFbXB0eSBTdGF0ZSBSb2xsb3V0IHRvIDEwJSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjAgMTI6NDA6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM5MSwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTIsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDAsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMDAlIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMDowMjozMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0wNyAxNjo1MDowNyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY0LCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ2NSwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6InZhcmlhbnQxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuVXBsb2FkLlNob3dRdW90YVdhcm5pbmdUb0ZyZWVVc2VycyI6eyJpZCI6OTM5LCJuYW1lIjoiSlMuVXBsb2FkLlNob3dRdW90YVdhcm5pbmdUb0ZyZWVVc2VycyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvdXBsb2FkXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDksIm5hbWUiOiIqIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0zMCAxMjoyODozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzo0MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzgxLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM4MiwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjU1LCJuYW1lIjoiKzQwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wMyAxMTo0NTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Mzg5LCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM5MCwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjYwLCJuYW1lIjoiNTAlIC0gU2hvdyBxdW90YSB3YXJuaW5nIHRvIEZyZWUgdXNlcnMgb24gdXBsb2FkIHBhZ2UiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTA1IDE2OjIzOjM0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0MDAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDAxLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDMsIm5hbWUiOiIrNTAlIC0gU2hvdyBxdW90YSB3YXJuaW5nIHRvIEZyZWUgdXNlcnMgb24gdXBsb2FkIHBhZ2UiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTMxIDEzOjAzOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0NzAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDcxLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkFWUy5TdW5zZXRBVlNQcml2YWN5Ijp7ImlkIjo5MzIsIm5hbWUiOiJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC86Y2xpcElkXC9hZHZhbmNlZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjY0NCwibmFtZSI6IkFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTA6MjQ6MTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NTQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM3MiwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzczLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjkyLCJuYW1lIjoiMTAwJSByYW1wIC0gQVZTIFByaXZhY3kgTWlncmF0aW9uIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yNCAxMToyMTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDUxLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NTIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciI6eyJpZCI6OTI4LCJuYW1lIjoiSlMuRWRpdG9yLk1lZGlhSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjIyLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDEwMCkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTE4IDEzOjA5OjMyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIxIDA2OjI1OjQ1IiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzQsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjI4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDIwMCkiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIxIDA2OjI2OjQwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTI5IDAzOjE3OjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNDUsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNDYsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzA2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDIwMCluZXciLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTExLTAyIDA1OjAyOjM3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTExLTI3IDA2OjA1OjM4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ0NzYsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NzcsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzE4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDgwMCluZXciLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTExLTEwIDA3OjQyOjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTExLTI3IDA2OjA1OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0OTMsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTQsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKHZhcmlhbnQpICIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTExLTI3IDA2OjA2OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1MjcsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3JfbmV3MiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI4IDA0OjMxOjM2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzcsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1NzgsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZXR0aW5ncy5NZW1iZXJzaGlwUGxhbi5TaG93Q29udGFjdFN1cHBvcnRMaW5rIjp7ImlkIjo5MTgsIm5hbWUiOiJKUy5TZXR0aW5ncy5NZW1iZXJzaGlwUGxhbi5TaG93Q29udGFjdFN1cHBvcnRMaW5rIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjIxLCJuYW1lIjoiT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMjIgMDc6NTQ6MDIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDc6NTQ6MzIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDMzMSwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzMyLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjMzLCJuYW1lIjoiKiBPZmZlciBhIGRvd25ncmFkZSBvcHRpb24iLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI4IDExOjQ2OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNTMsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM1NCwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwMSwibmFtZSI6IkRvd25ncmFkZSBDVEEiLCJidWNrZXRzIjoyMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTI4IDExOjQ3OjAzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0NjYsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ2NywibmFtZSI6InNob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLmhpZGVTdHlsZXMiOnsiaWQiOjkxNSwibmFtZSI6IkpTLkVkaXRvci5oaWRlU3R5bGVzIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNTYwLCJuYW1lIjoiaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTQgMDI6NTA6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTYgMDY6NTI6MzYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0NiwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDI0NywibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NjMsIm5hbWUiOiJoaWRlU3R5bGVzIDIwMCIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTQgMTM6MDI6NDYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTYgMDY6NTI6NDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI1MSwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDI1MiwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NjQsIm5hbWUiOiJoaWRlU3R5bGVzIDUwMCIsImJ1Y2tldHMiOjMwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMDYgMDM6MDY6NDEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTYgMDY6NTI6NTQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI1MywibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDI1NCwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NzIsIm5hbWUiOiJoaWRlU3R5bGVzIDEwMDAiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDA1OjU4OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNjUsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNjYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVHJhbnNjcmlwdGlvblZpZGVvRWRpdG9yIjp7ImlkIjo5MTEsIm5hbWUiOiJKUy5FZGl0b3IuVHJhbnNjcmlwdGlvblZpZGVvRWRpdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU0NywibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiYnVja2V0cyI6MSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMjggMDc6MDA6NTYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIyMCwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIyMSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MTAwMDAwMDAwMH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzgsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvcl9yZWxlYXNlIiwiYnVja2V0cyI6OTk5LCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xNSAwNTowMToyMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTcxLCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTcyLCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLmRyYWdvbmZseSI6eyJpZCI6OTA4LCJuYW1lIjoiSlMuRWRpdG9yLmRyYWdvbmZseSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3NcL2NyZWF0ZVwvY3VzdG9taXplIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNTMyLCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNiAwODo1MzoyNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yOCAwMjoyMjoyMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTk3LCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTk4LCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjU0NCwibmFtZSI6InNob3dfZHJhZ29uZmx5IDEwMCUiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yOCAwMjoyNDowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjE1LCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLnNob3dUb29sYmFyIjp7ImlkIjo4OTcsIm5hbWUiOiJKUy5FZGl0b3Iuc2hvd1Rvb2xiYXIiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJ2aW1lby5jb21cL2NyZWF0ZVwvY3VzdG9taXplIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNTE0LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoMTAlKSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMTEgMTU6MTY6NDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjQgMDM6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE2NywibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQxNjgsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjUxNiwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDkwJSkiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTEzIDA0OjE5OjIwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjI4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNzEsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTcyLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MzUsIm5hbWUiOiJTaG93IHRvb2wgYmFyIChjbG9zZSB0ZXN0KSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU5OjI4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMDMsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuQ2FuY2VsbGF0aW9uLkdlcm1hbnkiOnsiaWQiOjg5NSwibmFtZSI6IkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDg3LCJuYW1lIjoiR2VybWFueSBSZWdpb24iLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0wMSAwOTozODoxOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTI5LCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQxMzAsIm5hbWUiOiJjYW5jZWxfaW5fc3VydmV5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjI4NiwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkRFIl19XX1dfSwiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIjp7ImlkIjo4ODIsIm5hbWUiOiJKUy5MT0hQLkZ1bGxQYWdlUmVkZXNpZ24iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI0NTYsIm5hbWUiOiJIb21lIHBhZ2UgLSBOZXcgVmVyc2lvbiAtIEFsbCBVc2VycyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTE0IDE2OjIxOjMwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA2LTI4IDAxOjE5OjM4IiwicGFyYW1ldGVycyI6W3siaWQiOjQwODUsIm5hbWUiOiJzaG93X3BhZ2UiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ4MywibmFtZSI6IkhvbWUgcGFnZSBNb2JpbGUgVGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI4IDAxOjIwOjQyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTEyIDA5OjQzOjU4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjMsIm5hbWUiOiJzaG93X3BhZ2UiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI0LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NjEsIm5hbWUiOiJWYXJpYW50IHRvIDEwMCUgdXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0NTowNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjQ4LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJlY29yZEV4dGVuc2lvbi5TaWduVXBXYWxsIjp7ImlkIjo4NDksIm5hbWUiOiJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMzI1LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA0LTI4IDA4OjUzOjUwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI4IDA4OjU1OjU2IiwicGFyYW1ldGVycyI6W3siaWQiOjM5MTIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjozOTEzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzNTIsIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NjoyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOSAxMDozNzo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTM5LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6Mzk0MCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDM5LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIHByb2QiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTA3IDA1OjIwOjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA2LTI5IDExOjAzOjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQwNjAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MDYxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIFx1MDQzYzIgLSBwcm9kIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMjkgMTE6MDY6MDQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMDQgMTE6NDU6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyNywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQxMjgsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjUwMCwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgdjIgLSBwcm9kIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDYgMTA6MjU6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDI6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE0NywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQxNDgsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjU1NiwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgdjIgLSBwcm9kIChBXC9BXC9CXC9CKSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAzOjQ2IiwicGF1c2VkX29uIjoiMjAyMi0wOC0wOSAwODowMzo1NyIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjA0OjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyMzcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjM4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTcsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSSIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMDkgMDg6NTE6MDYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDc6NDk6MzIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0MCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDEsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjU1OCwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgdjIgLSBwcm9kIChBXC9BXC9CXC9CKSBJSSIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMDkgMDg6NTE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDc6NDk6MjciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0MiwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDMsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMiwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBSb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMjIgMDc6NTA6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDg6NTE6NTEiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjM1LCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUyOjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzNTcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuV2ViaW5hci5SZWdpc3RyYW50Q2FwRm9yUHJlbWl1bSI6eyJpZCI6ODIwLCJuYW1lIjoiSlMuV2ViaW5hci5SZWdpc3RyYW50Q2FwRm9yUHJlbWl1bSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6InVwZ3JhZGUsIGNoZWNrb3V0IGFuZCBtYXJrZXRpbmcgcGFnZXMiLCJleHBlcmltZW50cyI6W3siaWQiOjIyNDMsIm5hbWUiOiJSb2xsb3V0IHRvIDEwJSB0cmFmZmljIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wMSAwNToyNzoxNyIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzE6NDUiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjozODAzLCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MzgwNCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDM4LCJuYW1lIjoiKiBSb2xsb3V0IHRvIDQwJSB0cmFmZmljIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNiAxMToxNDowMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzE6NTgiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDU4LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA1OSwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDQ0LCJuYW1lIjoiKiAqIFJvbGxvdXQgdG8gNTAlIHRyYWZmaWMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTA4IDAwOjA1OjMxIiwicGF1c2VkX29uIjoiMjAyMi0wNy0wMSAxNDozMjowNCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQwNjksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MDcwLCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5NYXNrc0dyYWR1YWxSZWxlYXNlIjp7ImlkIjo4MDcsIm5hbWUiOiJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL2NyZWF0ZVwvY3VzdG9taXplIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMTY0LCJuYW1lIjoiTWFza3NHcmFkdWFsUmVsZWFzZSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDMtMzAgMDI6Mjk6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjYgMDg6MDg6NDMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzcwNywibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjozNzA4LCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMjY4LCJuYW1lIjoiX01hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA0LTA1IDA4OjQxOjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjMzIiwicGFyYW1ldGVycyI6W3siaWQiOjM4MzMsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzgzNCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjMzOSwibmFtZSI6Il9fX01hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yNiAxNDo1NzoxNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTI4LCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5BcHBsZVBheURlZmF1bHRTZWxlY3RlZCI6eyJpZCI6NjEzLCJuYW1lIjoiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJwcm8sIHByZW1pdW0sIHBsdXMsIGJ1c2luZXNzIGNoZWNrb3V0IHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoxNjE4LCJuYW1lIjoiQXBwbGUgcGF5IHNlbGVjdGVkIGJ5IGRlZmF1bHQiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTMwIDExOjE1OjI2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MjcsIm5hbWUiOiJzZWxlY3RfYXBwbGVfcGF5X2J5X2RlZmF1bHQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyODI4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjE2OTksIm5hbWUiOiIrOTAlIC0gQXBwbGUgcGF5IHNlbGVjdGVkIGJ5IGRlZmF1bHQiLCJidWNrZXRzIjo5MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTA0LTA1IDE3OjM4OjA1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI5NTgsIm5hbWUiOiJzZWxlY3RfYXBwbGVfcGF5X2J5X2RlZmF1bHQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyOTU5LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCI6eyJpZCI6NjAxLCJuYW1lIjoiSlMuUmV2aWV3LlJlZ2lzdGVyVG9Db21tZW50IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC86dXNlcm5hbWVcL3Jldmlld1wvOmNsaXBJZFwvOmNsaXBIYXNoIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoxNTg5LCJuYW1lIjoiUmVnaXN0ZXIgdG8gQ29tbWVudCAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAyLTExIDExOjE4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIxLTAzLTAxIDExOjUxOjEwIiwicGFyYW1ldGVycyI6W3siaWQiOjI3ODcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjIzLCJuYW1lIjoiUmVnaXN0ZXIgdG8gQ29tbWVudCAjMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjEtMDMtMDEgMTE6NTM6NTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MjgzNywibmFtZSI6InJlcXVpcmVfcmVnaXN0cmF0aW9uIiwiY2hvaWNlIjoidHJ1ZSIsIndlaWdodCI6MX0seyJpZCI6MjgzOCwibmFtZSI6InJlcXVpcmVfcmVnaXN0cmF0aW9uIiwiY2hvaWNlIjoiZmFsc2UiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19fTsKICAgIDwvc2NyaXB0Pgo8c2NyaXB0PgooZnVuY3Rpb24oKSB7CiAgICB3aW5kb3cuX2d0bSA9IFt7ImNsaXBfaWQiOjc4NDg4NDYsInBhZ2VfcGF0aCI6IlwvNzg0ODg0NiIsImNyZWF0b3JfaWQiOjE5NTU3NSwiY3JlYXRvcl91c2VyX3R5cGUiOiJiYXNpYyIsInZpZGVvX2NhdGVnb3JpZXMiOiIiLCJwcml2YWN5IjoiYW55Ym9keSIsInN0YWZmX3BpY2siOiJubyIsInVzZXJfaWQiOm51bGwsInBhZ2VfdHlwZSI6IlZpZGVvIiwibGFuZ3VhZ2UiOiJlbiIsInVzZXJfc3RhdHVzIjoibG9nZ2VkX291dCIsInVzZXJfdHlwZSI6Im5vbmUiLCJnYV91bml2ZXJzYWxfaWQiOiJVQS03NjY0MS04IiwiY29tc2NvcmVfc2l0ZV9pZCI6MTAzNDgyODl9XTsKCiAgICAgICAgdmFyIGdkcHJDb29raWUgPSAoZG9jdW1lbnQuY29va2llLm1hdGNoKC9eKD86Lio7KT9ccyp2aW1lb19nZHByX29wdGluXHMqPVxzKihbXjtdKykoPzouKik/JC8pfHxbLG51bGxdKVsxXTsKICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICAgICB3aW5kb3cuX2d0bS5wdXNoKHsKICAgICAgICAndnVpZCc6IGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKil2dWlkXHMqXD1ccyooW147XSopLiokKXxeLiokLywgIiQxIiksCiAgICAgICAgJ2d0bS5zdGFydCc6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLAogICAgICAgICdldmVudCc6ICdndG0uanMnCiAgICB9KTsKICAgICAgICAKICAgIHZhciBhY3RpdmVHcm91cHMgPSB3aW5kb3cuT25ldHJ1c3RBY3RpdmVHcm91cHMgfHwgJyc7CiAgICB2YXIgZ3RtcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgIG5vZGU7CiAgICBndG1zLmFzeW5jID0gdHJ1ZTsKICAgIGd0bXMudHlwZSA9IGFjdGl2ZUdyb3Vwcy5pbmRleE9mKCJDMDAwMiIpID09PSAtMSA/ICd0ZXh0L3BsYWluJyA6ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgZ3Rtcy5jbGFzc05hbWUgPSAib3B0YW5vbi1jYXRlZ29yeS1DMDAwMiI7CiAgICBndG1zLnNyYyA9ICcvL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9R1RNLVJCS0smbD1fZ3RtJzsKICAgIG5vZGUgPSBkb2N1bWVudC5oZWFkOwogICAgbm9kZS5hcHBlbmRDaGlsZChndG1zKTsKfSkoKTsKPC9zY3JpcHQ+CjxzY3JpcHQ+CiAgICB2YXIgZ29vZ2xldGFnID0gZ29vZ2xldGFnIHx8IHt9LAogICAgICAgIGdwdGFkc2xvdHMgPSBbXSwKICAgICAgICBsYW5ndWFnZSwKICAgICAgICBoYXNfdXBsb2FkZWQsCiAgICAgICAgY29ob3J0OwogICAgZ29vZ2xldGFnLmNtZCA9IGdvb2dsZXRhZy5jbWQgfHwgW107CgogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICAgICAgaWYgKGdkcHJDb29raWUgPT09ICctMScpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgICAgIHZhciBnYWRzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksCiAgICAgICAgICAgIHVzZVNTTCA9ICdodHRwczonID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sLAogICAgICAgICAgICBub2RlOwogICAgICAgIGdhZHMuYXN5bmMgPSB0cnVlOwogICAgICAgIGdhZHMudHlwZSA9IGFjdGl2ZUdyb3Vwcy5pbmRleE9mKCJDMDAwMiIpID09PSAtMSA/ICd0ZXh0L3BsYWluJyA6ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIGdhZHMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgICAgIGdhZHMuc3JjID0gKHVzZVNTTCA/ICdodHRwczonIDogJ2h0dHA6JykgKyAnLy93d3cuZ29vZ2xldGFnc2VydmljZXMuY29tL3RhZy9qcy9ncHQuanMnOwogICAgICAgIG5vZGUgPSBkb2N1bWVudC5oZWFkOwogICAgICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ2Fkcyk7CiAgICB9KSgpOwoKICAgIGdvb2dsZXRhZy5jbWQucHVzaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdwdGFkc2xvdHNbMF0gPSBnb29nbGV0YWcuZGVmaW5lU2xvdCgnLy81NDU0OTU0NC9jbGlwcycsIFtbOTcwLDI1MF0sWzcyOCw5MF0sWzMwMCwyNTBdLCJmbHVpZCJdLCAnZGl2LWdwdC1hZC03ODQ2NTE3NCcpLnNldFRhcmdldGluZygncCcsIFsnQlRGJ10pOwoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgZ3B0YWRzbG90c1swXS5hZGRTZXJ2aWNlKGdvb2dsZXRhZy5wdWJhZHMoKSk7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iYXBwX2Jhbm5lcl9jb250YWluZXIiPgoKICAgIDxkaXYgY2xhc3M9ImFwcF9iYW5uZXIgaGlkZSBqcy1hcHBfYmFubmVyIj4KCiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYXBwX2Jhbm5lcl9jbG9zZSBqcy1hcHBfYmFubmVyX2Nsb3NlIj4mdGltZXM7PC9idXR0b24+CgogICAgICAgIDxkaXYgY2xhc3M9ImFwcF9iYW5uZXJfaWNvbl93cmFwcGVyIj4KICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYXBwX2Jhbm5lcl9pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI0IDYuNjQzQzI0IDExLjI4NiAxNSAyMiAxMC44NzUgMjIgNiAyMiA2IDcuNzE0IDMuMDEzIDcuNzE0Yy0uMzg4IDAtMS44ODMgMS4wNy0xLjg4MyAxLjA3TDAgNy4zNThzNS4yNS01IDcuNS01YzQuNSAwIDMgMTIuNSA1LjYyNSAxMi41IDEuNSAwIDYuNzUtNy44NTcgMi4yNS03Ljg1Ny0uNzUgMC0xLjUuMzU3LTEuNS4zNTdDMTUgMy43ODcgMTcuMjUgMiAyMC42MjUgMiAyMi44NzUgMiAyNCAzLjc4NiAyNCA2LjY0M3oiLz48L3N2Zz4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iYXBwX2Jhbm5lcl9jdGEiPgogICAgICAgICAgICBXYXRjaCBpbiBvdXIgYXBwICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGEKICAgICAgICAgICAgY2xhc3M9ImFwcF9iYW5uZXJfYnV0dG9uIGpzLWFwcF9iYW5uZXJfb3Blbl9hcHAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9tb2JpbGVyZWRpcmVjdHM/dHlwZT1zdG9yZSZhcHA9dmltZW8mYWZfYWQ9dmltZW9fd2F0Y2hfaW5fb3VyX2FwcF9ibHVlJmFmX2Fkc2V0PWFwcF9iYW5uZXJfc21hbGwmYWZfZHA9dmltZW8lM0ElMkYlMkZ2aWRlb3MlMkY3ODQ4ODQ2JmFmX2ZvcmNlX2RlZXBsaW5rPXRydWUmYz1jbGlwX3BhZ2VfYXBwX2Jhbm5lciZwaWQ9dmltZW9fbW9iaWxlX3dlYiIgICAgICAgID4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFwcF9iYW5uZXJfYnV0dG9uX3RleHQiPk9wZW4gaW4gYXBwPC9zcGFuPgogICAgICAgIDwvYT4KCiAgICA8L2Rpdj4KCjwvZGl2PgoKCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CgogICAgCiAgICB3aW5kb3cudmltZW8uY2xpcF9wYWdlX2NvbmZpZyA9IHsiY2xpcCI6eyJpZCI6Nzg0ODg0NiwidGl0bGUiOiJJS09OUyAtIFNMT1cgTElHSFQiLCJkZXNjcmlwdGlvbiI6IjxwIGNsYXNzPVwiZmlyc3RcIj5BcnRpc3Q6IElLT05TLjxicj5cblRpdGxlOiBTTE9XIExJR0hULjxicj5cbkNyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uPGJyPlxuTGFiZWw6IFNFUlZJQ0UuPGJyPlxuPGEgaHJlZj1cImh0dHA6XC9cL3d3dy5zcnZjLnNlXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9mb2xsb3cgbm9vcGVuZXIgbm9yZWZlcnJlclwiPnNydmMuc2U8XC9hPjxcL3A+XG48cD5BbGJ1bSAmcXVvdDtJa29ucyZxdW90OyBvdXQgbm93IENEXC9MUFwvU3RyZWFtIGZyb20gU2VydmljZTxcL3A+IiwidXBsb2FkZWRfb24iOiIyMDA5LTExLTI3IDA2OjE5OjM5IiwidXBsb2FkZWRfb25fcmVsYXRpdmUiOiIxNCB5ZWFycyBhZ28iLCJ1cGxvYWRlZF9vbl9mdWxsIjoiRnJpZGF5LCBOb3ZlbWJlciAyNywgMjAwOSBhdCA2OjE5IEFNIEVTVCIsImlzX3NwYXRpYWwiOmZhbHNlLCJpc19oZHIiOmZhbHNlLCJpc19oZHJfMTBfcGx1cyI6ZmFsc2UsImlzX2RvbGJ5X3Zpc2lvbiI6ZmFsc2UsInByaXZhY3kiOnsiaXNfcHVibGljIjp0cnVlLCJ0eXBlIjoiYW55Ym9keSIsImRlc2NyaXB0aW9uIjoiUHVibGljIn0sImR1cmF0aW9uIjp7InJhdyI6NDk0LCJmb3JtYXR0ZWQiOiIwODoxNCJ9LCJpc19saWtlZCI6ZmFsc2UsImlzX3VuYXZhaWxhYmxlIjpmYWxzZSwibGlrZXNfdXJsIjoiXC83ODQ4ODQ2XC9saWtlcyIsImlzX2xpdmUiOmZhbHNlLCJ1bmxpc3RlZF9oYXNoIjpudWxsfSwib3duZXIiOnsiaWQiOjE5NTU3NSwiZGlzcGxheV9uYW1lIjoiU2VydmljZSIsImhhc19hZHZhbmNlZF9zdGF0cyI6ZmFsc2UsImlzX3Byb19sYXBzZWQiOmZhbHNlLCJpc19wYWlkIjpmYWxzZSwiYmFkZ2UiOm51bGwsInBvcnRyYWl0Ijp7InNyYyI6Imh0dHBzOlwvXC9pLnZpbWVvY2RuLmNvbVwvcG9ydHJhaXRcLzEwNTE4NjVfNzV4NzUiLCJzcmNfMngiOiJodHRwczpcL1wvaS52aW1lb2Nkbi5jb21cL3BvcnRyYWl0XC8xMDUxODY1XzE1MHgxNTAifSwiaXNfbW9kIjpmYWxzZSwidXJsIjoiXC9zZXJ2aWNlIiwidmVyaWZpZWQiOnRydWUsImlzX2ZvbGxvd2luZyI6ZmFsc2UsImlzX2F2YWlsYWJsZV9mb3JfaGlyZSI6bnVsbH0sIm9uZGVtYW5kIjpudWxsLCJicmFuZF9jaGFubmVsIjpudWxsLCJhcGlfdXJsIjoiYXBpLnZpbWVvLmNvbSIsImp3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGcwTXpjeE5qQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ6ZEdGMGN5SXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuTUtRWmdiZnlycmJkNFAtSFUtS0ZmTjZJVWFlajg0WE1ubFJDNXZ1anUyQSIsImNoYXQiOm51bGwsImN1cl91c2VyIjpudWxsLCJzdGF0dXMiOnsic3RhdGUiOiJyZWFkeSJ9LCJjb3B5cmlnaHRfc3RhdHVzIjp7ImlzX2Jsb2NrZWQiOmZhbHNlfSwiY29udGVudF9ibG9ja19zdGF0dXMiOnsiaXNfYmxvY2tlZCI6ZmFsc2UsIm1lc3NhZ2UiOiJWaWRlbyBpcyBub3QgcmF0ZWQuIExvZyBpbiB0byB3YXRjaC4iLCJjb250aW51b3VzX3BsYXlfZW5hYmxlZCI6ZmFsc2UsImFsbG93QnlwYXNzIjpmYWxzZSwicmVxdWlyZUxvZ2luIjp0cnVlLCJwb3NzaWJsZU9mY29tQmxvY2siOnRydWV9LCJwbGF5ZXIiOnsiY29uZmlnX3VybCI6Imh0dHBzOlwvXC9wbGF5ZXIudmltZW8uY29tXC92aWRlb1wvNzg0ODg0NlwvY29uZmlnP2F1dG9wYXVzZT0xJmJ5bGluZT0wJmNvbGxlY3Rpb25zPTEmY29udGV4dD1WaW1lbyU1Q0NvbnRyb2xsZXIlNUNDbGlwQ29udHJvbGxlci5tYWluJmRlZmF1bHRfdG9faGQ9MSZoPTQ2NmViZDJmMzMmb3V0cm89bm90aGluZyZwb3J0cmFpdD0wJnNoYXJlPTEmc3BlZWQ9MSZ0aXRsZT0wJndhdGNoX3RyYWlsZXI9MCZzPTkzY2I1ZTc5NGNhNWYyNDVjOTcwMzJhYzk4M2JkM2JjYTFhMTU4MjdfMTY5ODQ1MTUyMSIsInBsYXllcl91cmwiOiJwbGF5ZXIudmltZW8uY29tIiwiZGltZW5zaW9ucyI6eyJoZWlnaHQiOjU0MCwid2lkdGgiOjcyMH0sInBvc3RlciI6eyJ1cmwiOiJodHRwczpcL1wvaS52aW1lb2Nkbi5jb21cL3ZpZGVvXC8zNTAxNDU4NC00NDY2NTY0MjFhOTM1ZjlmMjU2Mzc1ZjFmYWUyZGM4YTJkNTAwMzAzMDk5OWEyMzU2MWE3NmE0YWQ1Y2UxYmYxLWQ/bXc9MjAwMCZtaD0xMDgwJnE9NzAifX0sInNoYXJlX2VuYWJsZWQiOnRydWUsInNlbmRfdG9fd2lwc3Rlcl9lbmFibGVkIjpmYWxzZSwidGh1bWJuYWlsIjp7InNyYyI6Imh0dHBzOlwvXC9pLnZpbWVvY2RuLmNvbVwvdmlkZW9cLzM1MDE0NTg0LTQ0NjY1NjQyMWE5MzVmOWYyNTYzNzVmMWZhZTJkYzhhMmQ1MDAzMDMwOTk5YTIzNTYxYTc2YTRhZDVjZTFiZjEtZF8xOTB4MTA3Iiwic3JjXzJ4IjoiaHR0cHM6XC9cL2kudmltZW9jZG4uY29tXC92aWRlb1wvMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kXzM4MHgyMTQiLCJ3aWR0aCI6MTkwLCJoZWlnaHQiOjEwNywiaWQiOjM1MDE0NTg0fSwiYWRzIjp7ImhvdXNlX2Fkc19lbmFibGVkIjp0cnVlLCJ0aGlyZF9wYXJ0eV9hZHNfZW5hYmxlZCI6ZmFsc2V9LCJjb250ZW50X3JhdGluZyI6eyJ0eXBlIjoidW5yYXRlZCIsIm1lc3NhZ2UiOiJOb3QgWWV0IFJhdGVkIiwiZGVzY3JpcHRpb24iOiIifSwiY29udGVudF9hZHZlcnRpc2VtZW50X3dhcm5pbmciOm51bGwsIm5vdGlmaWNhdGlvbnMiOltdLCJjYXRlZ29yaWVzX2NvbmZpZyI6eyJjYXRlZ29yaWVzIjpbXSwidG90YWxfY2F0ZWdvcmllcyI6MH0sIm11c2ljX3RyYWNrIjpudWxsLCJjY19saWNlbnNlIjpudWxsLCJnb29nbGVfYXBwX2lkIjoiNTk5MTY4ODA2Njk3LTF2YWlsZjB2NmFpMGowOXZhMWhnYTBrcm5kMG4zdGxxLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiY3JlZGl0cyI6eyJ0b3RhbF9jcmVkaXRzIjp7InJhdyI6MCwiZm9ybWF0dGVkIjowfX0sInN0cmVhbSI6eyJpZCI6bnVsbCwicG9zIjowfSwiY29sbGVjdGlvbl9hZGRlciI6eyJlbmFibGVkIjp0cnVlfSwicmVjYXB0Y2hhX3NpdGVfa2V5IjoiNkxlUkNMd1NBQUFBQU9KMWJhX3hxZDNOQk9sVjVQX1hSV0pWRVBkdyIsImNsaXBfc3RhdHMiOnsiZW5hYmxlZCI6ZmFsc2V9LCJkb3dubG9hZF9jb25maWciOm51bGwsImhhc19yZXZpZXdfbW9kZXMiOmZhbHNlLCJkYXRhX2xheWVyIjp7ImNsaXBfaWQiOjc4NDg4NDYsInBhZ2VfcGF0aCI6IlwvNzg0ODg0NiIsImNyZWF0b3JfaWQiOjE5NTU3NSwiY3JlYXRvcl91c2VyX3R5cGUiOiJiYXNpYyIsInZpZGVvX2NhdGVnb3JpZXMiOiIiLCJwcml2YWN5IjoiYW55Ym9keSIsInN0YWZmX3BpY2siOiJubyIsInVzZXJfaWQiOm51bGwsInBhZ2VfdHlwZSI6IlZpZGVvIn0sImNhbl9hZGRfcmVhY3Rpb25fb25fY2xpcCI6ZmFsc2V9OwoKICAgIC8vIEF1dG9wbGF5IHRlc3QgZm9yIG9uc2l0ZSByZWZlcnJhbHMgdG8gY2xpcCBwYWdlCiAgICAoZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBjbGlwID0gd2luZG93LnZpbWVvLmNsaXBfcGFnZV9jb25maWc7CiAgICAgICAgdmFyIGlzT3duZXIgPSBjbGlwLmN1cl91c2VyID8gY2xpcC5jdXJfdXNlci5pZCA9PT0gY2xpcC5vd25lci5pZCA6IGZhbHNlOwogICAgICAgIHZhciBoYXNBdXRvcGxheVBhcmFtID0gLyhcP3wmKWF1dG9wbGF5PTEoJnwkKS8udGVzdCh3aW5kb3cubG9jYXRpb24uaHJlZik7CiAgICAgICAgdmFyIGhhc09uc2l0ZVJlZmVycmVyID0gd2luZG93LnZpbWVvX2VzaS5jb25maWcub25zaXRlX3JlZmVycmVyOwoKICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGF1dG9wbGF5IHJlZnJlc2hlcyBhbmQgaGlzdG9yeSB0cmF2ZXJzYWxzCiAgICAgICAgdmFyIGlzTmV3UGFnZSA9IHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGUgPT09IDA7CgogICAgICAgIC8vIElmIHdlIHBhc3MgYWxsIHRoZSBjb25kaXRpb25zIG92ZXJyaWRlIHBsYXllciBjb25maWcgd2l0aCBuZXcgb25lIGluY2x1ZGluZyBhdXRvcGxheSBwYXJhbQogICAgICAgIGlmIChpc05ld1BhZ2UgJiYgaGFzT25zaXRlUmVmZXJyZXIgJiYgIWhhc0F1dG9wbGF5UGFyYW0gJiYgIWlzT3duZXIpIHsKICAgICAgICAgICAgd2luZG93LnZpbWVvLmNsaXBfcGFnZV9jb25maWcucGxheWVyID0geyJjb25maWdfdXJsIjoiaHR0cHM6XC9cL3BsYXllci52aW1lby5jb21cL3ZpZGVvXC83ODQ4ODQ2XC9jb25maWc/YXV0b3BhdXNlPTEmYXV0b3BsYXk9MSZieWxpbmU9MCZjb2xsZWN0aW9ucz0xJmNvbnRleHQ9VmltZW8lNUNDb250cm9sbGVyJTVDQ2xpcENvbnRyb2xsZXIubWFpbiZkZWZhdWx0X3RvX2hkPTEmaD00NjZlYmQyZjMzJm91dHJvPW5vdGhpbmcmcG9ydHJhaXQ9MCZzaGFyZT0xJnNwZWVkPTEmdGl0bGU9MCZ3YXRjaF90cmFpbGVyPTAmcz04MjlmZmQ4ZmM5Y2VmNjNhMmQ1NzVkZDMyY2RkM2MyMTc5N2M5MjllXzE2OTg0NTE1MjEiLCJwbGF5ZXJfdXJsIjoicGxheWVyLnZpbWVvLmNvbSIsImRpbWVuc2lvbnMiOnsiaGVpZ2h0Ijo1NDAsIndpZHRoIjo3MjB9LCJwb3N0ZXIiOnsidXJsIjoiaHR0cHM6XC9cL2kudmltZW9jZG4uY29tXC92aWRlb1wvMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kP213PTIwMDAmbWg9MTA4MCZxPTcwIn19OwogICAgICAgIH0KICAgIH0oKSk7Cjwvc2NyaXB0PgoKICAgIDxzY3JpcHQ+CiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cudmltZW8gPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiB3aW5kb3cudmltZW8uY2xpcHMgPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHdpbmRvdy52aW1lbyA9IHdpbmRvdy52aW1lbyB8fCB7fTsKICAgICAgICAgICAgd2luZG93LnZpbWVvLmNsaXBzID0gd2luZG93LnZpbWVvLmNsaXBzIHx8IHt9OwogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCB3aW5kb3cudmltZW8uY2xpcF9wYWdlX2NvbmZpZy5wbGF5ZXIuY29uZmlnX3VybCAsIHRydWUpOwogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cudmltZW8uY2xpcHNbJzc4NDg4NDYnXSA9IEpTT04ucGFyc2UoeGhyLnJlc3BvbnNlVGV4dCk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHhoci53aXRoQ3JlZGVudGlhbHMgPSB0cnVlOwogICAgICAgICAgICB4aHIuc2VuZCgpOwogICAgICAgIH0KICAgIDwvc2NyaXB0PgoKPCEtLVtpZiBsdGUgSUUgOV0+CiAgICA8c2NyaXB0PndpbmRvdy5sb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvbiArICc/bGl0ZT0xJzs8L3NjcmlwdD4KPCFbZW5kaWZdLS0+Cgo8ZGl2IGlkPSJvbmJvYXJkaW5nX21vdW50Ij48L2Rpdj4KCjxtYWluIGlkPSJtYWluIiBjbGFzcz0iaXNfbG9hZGluZyI+CiAgICA8ZGl2IGNsYXNzPSJpcmlzX2dyaWQgaXJpc19ncmlkX2ZwOTYwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjbGlwX21haW4iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5ZXJfYXJlYSI+CiAgICAgICAgICAgICAgICA8bm9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vdmlkZW8vMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kP213PTE5MjAmYW1wO21oPTEwODAmYW1wO3E9NzAiIGFsdD0iIiBzdHlsZT0iZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMCBhdXRvOyBtYXgtaGVpZ2h0OiA1NDBweDsiIC8+CiAgICAgICAgICAgICAgICA8L25vc2NyaXB0PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxub3NjcmlwdD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfbWFpbi1jb250ZW50IGlyaXNfZ3JpZC13cmFwcGVyLS1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpcmlzX2dyaWQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyB1LWNvbGxhcHNlIGNsaXAtbm90aWZpY2F0aW9uIiBzdHlsZT0ibWFyZ2luLXRvcDogMWVtOyBtYXJnaW4tYm90dG9tOiAxLjVlbTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tY2xpcCBpcmlzX25vdGlmaWNhdGlvbi1jbGlwLS1jYXV0aW9uIGlyaXNfbm90aWZpY2F0aW9uLS1uby1jbG9zZSBjbGVhcmZpeCIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5QbGVhc2UgZW5hYmxlIEphdmFTY3JpcHQgdG8gZXhwZXJpZW5jZSBWaW1lbyBpbiBhbGwgb2YgaXRzIGdsb3J5LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlyaXNfZ3JpZC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfaW5mby13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGlwX2luZm8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9ImNsaXBfaW5mby1oZWFkZXIiPklLT05TIC0gU0xPVyBMSUdIVDwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xpcF9pbmZvLXN1YmxpbmUtLXdhdGNoIGNsaXBfaW5mby1zdWJsaW5lLS1pbmxpbmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idXNlcmJ5bGluZS1zdWJsaW5lIHVzZXJieWxpbmUtc3VibGluZS0tbGciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+ZnJvbTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1c2VybGluayB1c2VybGluay0tbWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zZXJ2aWNlIj5TZXJ2aWNlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2xpcF9pbmZvLXRpbWUiPjx0aW1lIGRhdGV0aW1lPSIyMDA5LTExLTI3VDA2OjE5OjM5LTA1OjAwIiB0aXRsZT0iRnJpZGF5LCBOb3ZlbWJlciAyNywgMjAwOSBhdCA2OjE5IEFNIj4xNCB5ZWFycyBhZ288L3RpbWU+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGlwX2RldGFpbHMgaXJpc19kaXZpZGVyLS1kYXJrIGlyaXNfZGl2aWRlci10b3AgaXJpc19kaXZpZGVyLXRvcC0tbSBpcmlzX2RpdmlkZXItYm90IGlyaXNfZGl2aWRlci1ib3QtLW0gdS1jb2xsYXBzZSBjbGVhcmZpeCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlyaXNfZ3JpZC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfZGV0YWlscy1kZXNjcmlwdGlvbiBkZXNjcmlwdGlvbi13cmFwcGVyIGlyaXNfZGVzYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImZpcnN0Ij5BcnRpc3Q6IElLT05TLjxicj4KVGl0bGU6IFNMT1cgTElHSFQuPGJyPgpDcmVhdG9yOiBQYXRyaWsgSm9oYW5zc29uLjxicj4KTGFiZWw6IFNFUlZJQ0UuPGJyPgo8YSBocmVmPSJodHRwOi8vd3d3LnNydmMuc2UiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIG5vcmVmZXJyZXIiPnNydmMuc2U8L2E+PC9wPgo8cD5BbGJ1bSAmcXVvdDtJa29ucyZxdW90OyBvdXQgbm93IENEL0xQL1N0cmVhbSBmcm9tIFNlcnZpY2U8L3A+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L25vc2NyaXB0PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvbWFpbj4KCjxzY3JpcHQ+CiAgICB3aW5kb3cuY2FuX3ByZWxvYWQgPSB0cnVlOwoKICAgIDwvc2NyaXB0PgoKICAgIDxkaXYgY2xhc3M9ImhpZGUiPgogICAgICAgIDxkaXYgY2xhc3M9ImJsb2NrIGdwdF9hZCIgcm9sZT0iY29tcGxlbWVudGFyeSI+CiAgICAKICAgIDxkaXYgaWQ9ImRpdi1ncHQtYWQtNzg0NjUxNzQiPjwvZGl2Pgo8L2Rpdj4KICAgIDwvZGl2PgoKPHNjcmlwdD4KY29uc29sZS5sb2coJyVjIFxuXArijpwgICAgICAgQEBAJiAgICAgICBAQEBAQEBcblwK4o6cICAgICNAQEBAQEBAICAgICZAQEBAQEBAQFxuXArijpwgICNAQEBAQEBAQEAuICAlJSZAQEBAQEBAXG5cCuKOnCAgICAgICZAQEBAQCUgICAgIChAQEBAQChcblwK4o6cICAgICAgIEBAQEBAQCAgICAgQEBAQEBAXG5cCuKOnCAgICAgICAlQEBAQEAoICAuQEBAQEAoXG5cCuKOnCAgICAgICAgQEBAQEBAKEBAQEBAQFxuXArijpwgICAgICAgIC9AQEBAQEBAQEBAJSAgICAgICAgICAgIExpa2UgcGxheWluZyB3aXRoIHRlY2hub2xvZ3k/XG5cCuKOnCAgICAgICAgICZAQEBAQEBAJSAgICAgICAgICAgICAgaHR0cHM6Ly92aW1lby5jb20vam9ic1xuXArijpwgICAgICAgICAgQEBAQEAjXG5cClxuXAonLCAnY29sb3I6ICMwMGFkZWY7Jyk7Cjwvc2NyaXB0PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8Zm9vdGVyIGNsYXNzPSJmb290ZXJfdjIgZm9vdGVyX3YyLS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19zaXRlbWFwIj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fbG9nbyI+CiAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19saW5rcyI+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+VXNlIGNhc2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplbnRlcnByaXNlIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRlcnByaXNlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNtYWxsIGJ1c2luZXNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zb2x1dGlvbnMvY3JlYXRpdmUtcHJvZmVzc2lvbmFscy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpjcmVhdGl2ZV9wcm9mZXNzaW9uYWxzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGl2ZSBwcm9mZXNzaW9uYWxzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zb2x1dGlvbnMvZml0bmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmaXRuZXNzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaXRuZXNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zb2x1dGlvbnMvZmFpdGgtc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZmFpdGgiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZhaXRoICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zb2x1dGlvbnMvZWR1Y2F0aW9uLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVkdWNhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWR1Y2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUvZWNvbW1lcmNlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWNvbW1lcmNlIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFY29tbWVyY2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9yZWFsLWVzdGF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOnJlYWxfZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFsIGVzdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UHJvZHVjdDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX3JldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDggOCI+PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzkuMzkgMS4wMjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDQ+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxpc3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6aW50ZXJhY3RpdmVfdmlkZW8iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludGVyYWN0aXZlIFZpZGVvICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii92aWRlby1lZGl0b3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aWRlb19lZGl0b3J8a2V5d29yZDp2aWRlb19lZGl0b3IiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9ubGluZSBWaWRlbyBFZGl0b3IgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2F1dG8tY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19hdXRvX2NhcHRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6YXV0b19jYyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0byBDYXB0aW9uaW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy93ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6d2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViaW5hciBTb2Z0d2FyZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlydHVhbC1ldmVudHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlydHVhbF9ldmVudHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6bGl2ZV9ldmVudHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpcnR1YWwgRXZlbnRzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnZpZGVvX3BsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gUGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX2xpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTGlicmFyeSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2NyZWF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpjcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSBWaWRlbyBNYWtlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19saXZlX3N0cmVhbWluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX3N0cmVhbWluZyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBTdHJlYW1pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTY3JlZW4gUmVjb3JkZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpwcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1jb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2NvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6Y29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQ29sbGFib3JhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tbWFya2V0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Rpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpkaXN0cmlidXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIE1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb3R0P21rYz1lbnRwcnNiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX21vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDptb25ldGl6YXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2FuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfaG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBIb3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mb3ItaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19mb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6Zm9yX2hpcmUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgVmlkZW8gUHJvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlJlc291cmNlczwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX3JldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDggOCI+PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzkuMzkgMS4wMjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDQ+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxpc3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2hlbHAvemVuZGVza19zc28/cmVkaXJlY3RfdG89aHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfaGVscF9jZW50ZXJfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOmhlbHBfY2VudGVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIENlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ZpbWVvLmNvbS9ibG9nLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19ibG9nX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDp2aW1lb19ibG9nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2N1c3RvbWVycy9lbnRlcnByaXNlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX291cl9jdXN0b21lcnNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOmN1c3RvbWVyX2xvZ29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXIgQ3VzdG9tZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19zY2hvb2xfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpZGVvX3NjaG9vbCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gU2Nob29sICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL290dC9yZXNvdXJjZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3R0X3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6b3R0X3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT1RUIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2RldmVsb3Blci52aW1lby5jb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGV2ZWxvcGVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6ZGV2ZWxvcGVycyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2ZWxvcGVycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvcGFydG5lcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcGFydG5lciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6cGFydG5lciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVjb21lIGEgUGFydG5lciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZXhwZXJ0cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDp2aW1lb19leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luIFZpbWVvIEV4cGVydHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2hlbHAvZ3VpZGVsaW5lcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19ndWlkZWxpbmVzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDp2aW1lb19ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHdWlkZWxpbmVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+QXBwczwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX3JldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDggOCI+PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzkuMzkgMS4wMjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDQ+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxpc3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2FwcGxlLXN0b3JlL2lkMTM1NjY4Njc2Mz9wdD00MTc3MzEmYW1wO2N0PWxvaHAmYW1wO210PTgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDptYWNvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIG1hY09TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2FwcGxlLXN0b3JlL2lkNDI1MTk0NzU5P3B0PTQxNzczMSZhbXA7Y3Q9ZW50ZXJwcmlzZV9tb2JpbGVfY29tbXNfTFAmYW1wO210PTgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDppb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBpT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS52aW1lby5hbmRyb2lkLnZpZGVvYXBwJmFtcDtobD1lbl9VUyZhbXA7Z2w9VVMmYW1wO3BsaT0xIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6YW5kcm9pZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS91cy9hcHAvdmltZW8vaWQ0MjUxOTQ3NTkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDpjcmVhdGVfaW9zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDpjcmVhdGVfYW5kcm9pZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gQ3JlYXRlIGZvciBBbmRyb2lkICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm1hZ2lzdG8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hZ2lzdG8iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hZ2lzdG8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLnNob3BpZnkuY29tL3ZpbWVvX3Byb2R1Y3RfdmlkZW9fbWFrZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDp2aW1lb19zaG9waWZ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgU2hvcGlmeSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaW50ZWdyYXRpb25zL3pvb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDp2aW1lb19mb3Jfem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIFpvb20gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5WaW1lbzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX3JldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDggOCI+PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzkuMzkgMS4wMjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDQ+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxpc3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii91cGdyYWRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ByaWNpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBQcmljaW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii91cGxvYWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdXBsb2FkX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOnVwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBVcGxvYWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc3RhZmZfcGlja3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c3RhZmZfcGlja3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL29uZGVtYW5kIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX29uX2RlbWFuZF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpvbl9kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgT24gRGVtYW5kICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmltZW9fb3R0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm90dCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBPVFQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NpdGVfbWFwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NpdGVfbWFwX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOnNpdGVfbWFwIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFNpdGUgbWFwICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9hYm91dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19hYm91dF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDphYm91dF92aW1lbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBBYm91dCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfaW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBJbnZlc3RvciBSZWxhdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9wcmVzcy52aW1lby5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ByZXNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOnByZXNzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByZXNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jYXJlZXJzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2pvYnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6am9icyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBKb2JzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+CjxzY3JpcHQ+CiAgICBjb25zdCBmb290ZXJBY2NvcmRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjaycpOwoKICAgIGlmIChmb290ZXJBY2NvcmRpb24pIHsKICAgICAgICB3aW5kb3cub251bmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmb290ZXJBY2NvcmRpb24ubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmIChmb290ZXJBY2NvcmRpb25baV0udHlwZSA9PT0gJ2NoZWNrYm94JykgewogICAgICAgICAgICAgICAgICAgIGZvb3RlckFjY29yZGlvbltpXS5jaGVja2VkID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9OwogICAgICAgIH07CiAgICB9Owo8L3NjcmlwdD4KICAgIAogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2F1eGlsaWFyeSAiPgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5LWNvbnRlbnQiPgogICAgICAgICAgICA8cD4mY29weTsgMjAyMyBWaW1lby5jb20sIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QiPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii90ZXJtcyIgdGl0bGU9IlRlcm1zICZhbXA7IENvbmRpdGlvbnMiPgogICAgICAgICAgICAgICAgICAgIFRlcm1zICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeSIgdGl0bGU9IlByaXZhY3kgUG9saWN5Ij4KICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGlkPSJkby1ub3Qtc2VsbC1pdGVtIiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0gaGlkZGVuIj4KICAgICAgICAgICAgICAgIDxhIGlkPSJkby1ub3Qtc2VsbCIgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgdGl0bGU9IkRvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZvb3RlcnxrZXl3b3JkOmRvX25vdF9zZWxsX215X3BlcnNvbmFsX2luZm9ybWF0aW9ufHRhcmdldDp0cmFuc2NlbmRfZGlhbG9ndWVfYm94Ij4KICAgICAgICAgICAgICAgICAgICBEbyBOb3QgU2VsbCBNeSBQZXJzb25hbCBJbmZvcm1hdGlvbiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3ByaXZhY3kvY2FsaWZvcm5pYS1wcml2YWN5IiB0aXRsZT0iQ0EgUHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgQ0EgUHJpdmFjeSAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL2RtY2EiIHRpdGxlPSJDb3B5cmlnaHQgSW5mb3JtYXRpb24iPgogICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiIHRpdGxlPSJMZWFybiBtb3JlIGFib3V0IGhvdyBWaW1lbyB1c2VzIGNvb2tpZXMiPgogICAgICAgICAgICAgICAgICAgIENvb2tpZXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2ZpbHRlcnMgZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgPHNwYW4gY2xhc3M9Imxhbmd1YWdlIj4KICAgICAgICAgICAgTGFuZ3VhZ2U6CiAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9IiNsYW5ndWFnZSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2xvY2FsZScsIHNpemU6ICdzbWFsbCd9KTsgcmV0dXJuIGZhbHNlOyIgdGl0bGU9IkNob29zZSBhIGRpZmZlcmVudCBsYW5ndWFnZSI+RW5nbGlzaDwvYT4KICAgICAgICA8L3NwYW4+CgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2ZpbHRlciI+TWF0dXJlIGNvbnRlbnQgZmlsdGVyOiA8L3NwYW4+PGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSBmb290ZXJfdjJfX2ZpbHRlcnNfX2xhbmcgY29udGVudGZpbHRlciBqcy1mb290ZXJfY29udGVudGZpbHRlcl9saW5rIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIG9uY2xpY2s9InZpbWVvLk1vZGFsLmNyZWF0ZSh7Y29udGVudDogJy9zZXR0aW5ncy9jb250ZW50cmF0aW5nJ30pIiB0aXRsZT0iQ2hhbmdlIHlvdXIgbWF0dXJlIGNvbnRlbnQgZmlsdGVyIj5Ob25lPC9hPgogICAgICAgICAgICA8L2Rpdj4KCjwvc2VjdGlvbj4KPCEtLSBEbyBub3Qgc2VsbCBsaW5rIGJ1dHRvbiBmb3IgQ2FsaWZvcm5pYSB1c2VycyAtLT4KPHNjcmlwdCBkYXRhLWNmYXN5bmM9ImZhbHNlIiBkYXRhLWRpc21pc3NlZC12aWV3LXN0YXRlPSJIaWRkZW4iIGRhdGEtdGFtcGVyLXJlc2lzdD0ib2ZmIgogICAgc3JjPSJodHRwczovL2Nkbi50cmFuc2NlbmQuaW8vY20vMzFlOTdjYmYtMzU1Yy00ZjBkLThiYWQtOWNkOTQ1MTIxNTA4L2FpcmdhcC5qcyI+Cjwvc2NyaXB0Pgo8L2Zvb3Rlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgogICAgICAgIFt7InVybCI6Imh0dHBzOi8vdmltZW8uY29tLzc4NDg4NDYiLCJ0aHVtYm5haWxVcmwiOiJodHRwczovL2kudmltZW9jZG4uY29tL3ZpZGVvLzM1MDE0NTg0LTQ0NjY1NjQyMWE5MzVmOWYyNTYzNzVmMWZhZTJkYzhhMmQ1MDAzMDMwOTk5YTIzNTYxYTc2YTRhZDVjZTFiZjEtZD9mPXdlYnAiLCJlbWJlZFVybCI6Imh0dHBzOi8vcGxheWVyLnZpbWVvLmNvbS92aWRlby83ODQ4ODQ2P2g9NDY2ZWJkMmYzMyIsIm5hbWUiOiJJS09OUyAtIFNMT1cgTElHSFQiLCJkZXNjcmlwdGlvbiI6IkFydGlzdDogSUtPTlMuIFRpdGxlOiBTTE9XIExJR0hULiBDcmVhdG9yOiBQYXRyaWsgSm9oYW5zc29uLiBMYWJlbDogU0VSVklDRS4gd3d3LnNydmMuc2UgIEFsYnVtICZxdW90O0lrb25zJnF1b3Q7IG91dCBub3cgQ0QvTFAvU3RyZWFtIGZyb20gU2VydmljZSIsImhlaWdodCI6NDgwLCJ3aWR0aCI6NjQwLCJwbGF5ZXJUeXBlIjoiSFRNTDUgRmxhc2giLCJ2aWRlb1F1YWxpdHkiOiJTRCIsInVwbG9hZERhdGUiOiIyMDA5LTExLTI3VDA2OjE5OjM5LTA1OjAwIiwiZGF0ZU1vZGlmaWVkIjoiMjAyMi0wNy0wMVQwNjowNToxMC0wNDowMCIsInRodW1ibmFpbCI6eyJAdHlwZSI6IkltYWdlT2JqZWN0IiwidXJsIjoiaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS92aWRlby8zNTAxNDU4NC00NDY2NTY0MjFhOTM1ZjlmMjU2Mzc1ZjFmYWUyZGM4YTJkNTAwMzAzMDk5OWEyMzU2MWE3NmE0YWQ1Y2UxYmYxLWQ/Zj13ZWJwIiwid2lkdGgiOjEyODAsImhlaWdodCI6OTYwfSwiYXV0aG9yIjp7IkB0eXBlIjoiUGVyc29uIiwibmFtZSI6IlNlcnZpY2UiLCJ1cmwiOiJodHRwczovL3ZpbWVvLmNvbS9zZXJ2aWNlIn0sInBvdGVudGlhbEFjdGlvbiI6eyJAdHlwZSI6IlZpZXdBY3Rpb24iLCJ0YXJnZXQiOiJ2aW1lbzovL2FwcC52aW1lby5jb20vdmlkZW9zLzc4NDg4NDYifSwiZHVyYXRpb24iOiJQVDAwSDA4TTE0UyIsIkB0eXBlIjoiVmlkZW9PYmplY3QiLCJAY29udGV4dCI6Imh0dHA6Ly9zY2hlbWEub3JnIn0seyJpdGVtTGlzdEVsZW1lbnQiOlt7IkB0eXBlIjoiTGlzdEl0ZW0iLCJwb3NpdGlvbiI6MSwiaXRlbSI6eyJAaWQiOiJodHRwczovL3ZpbWVvLmNvbS9zZXJ2aWNlIiwibmFtZSI6IlNlcnZpY2UifX0seyJAdHlwZSI6Ikxpc3RJdGVtIiwicG9zaXRpb24iOjIsIml0ZW0iOnsiQGlkIjoiaHR0cHM6Ly92aW1lby5jb20vc2VydmljZS92aWRlb3MiLCJuYW1lIjoiVmlkZW9zIn19XSwiQHR5cGUiOiJCcmVhZGNydW1iTGlzdCIsIkBjb250ZXh0IjoiaHR0cDovL3NjaGVtYS5vcmcifV0gICAgPC9zY3JpcHQ+Cgo8c2NyaXB0PgogICAgdmFyIF9fZmEgPSBfX2ZhIHx8IFtdOwogICAgLyoqCiAgICAgKiBCZWNhdXNlIHNpbmdsZSBwYWdlIGFwcGxpY2F0aW9ucyBzdWNoIGFzIHRoZSBhcHAgc2hlbGwgd2lsbCBiZSB0cmFja2luZwogICAgICogRmF0YWwgQXR0cmFjdGlvbiBwYWdlIHZpZXdzIG9uIFJlYWN0IGxpZmVjeWNsZSBob29rcyAoY29tcG9uZW50RGlkTW91bnQpCiAgICAgKiB3ZSB3YW50IHRvIGF2b2lkIGRpc3BhdGNoaW5nIHRoZSBwYWdldmlldyBldmVudCBmcm9tIHRoZSBQSFAgdGVtcGxhdGUKICAgICAqIGFuZCBkZWZlciB0aGlzIHNvcnQgb2YgdHJhY2tpbmcgbG9naWMgdG8gdGhlIGZyb250IGVuZC4KICAgICAqCiAgICAgKiBUaGlzIGNoZWNrIGFsbG93cyB1cyB0byBkZWNsYXJlIGluIGEgY29udHJvbGxlciB3aGV0aGVyIG9yIG5vdCB3ZQogICAgICogd2FudCB0byBkaXNwYXRjaCB0aGF0IHByZWxpbWluYXJ5IHBhZ2V2aWV3LgogICAgICoKICAgICAqIFRoZSBwcm9wZXJ0eSBpcyBhZGRpdGl2ZSBvbmx5LCBhcyB0byBub3QgYWZmZWN0IGV4aXN0aW5nIHBhZ2V2aWV3cy4KICAgICAqLwogICAgICAgICAgICBfX2ZhLnB1c2goWyd0cmFja1BhZ2V2aWV3J10pOwogICAgCiAgICAvKioKICAgICAqIEFkZCBzZXJ2ZXIgc2lkZSBBQkxpbmNvbG4gZXhwZXJpbWVudHMgdG8gR1RNIGRhdGEgbGF5ZXIuCiAgICAgKi8KICAgIAogICAgICAgIHZhciBfZXh0ZW5kID0gZnVuY3Rpb24oKXtmb3IodmFyIHI9YXJndW1lbnRzWzBdLG49MSxlPWFyZ3VtZW50cy5sZW5ndGg7ZT5uO24rKyl7dmFyIHQ9YXJndW1lbnRzW25dO2Zvcih2YXIgYSBpbiB0KXQuaGFzT3duUHJvcGVydHkoYSkmJihyW2FdPXRbYV0pfXJldHVybiByfTsKCiAgICAgICAgdmFyIENTU19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC8nLAogICAgICAgIEpTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC8nLAogICAgICAgIElNQUdFX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL2ltYWdlc192Ni8nLAogICAgICAgIEZPTlRfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vZm9udHMvJywKICAgICAgICBTVkdfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3ZnLycsCiAgICAgICAgICAgICAgICBCVUlMRF9IQVNIID0gJ2U1ODZkJzsKCiAgICAKICAgICAgICB2YXIgdmltZW8gPSBfZXh0ZW5kKCh3aW5kb3cudmltZW8gfHwge30pLCB7ImFwcF92ZXJzaW9uIjoidjYiLCJkb21haW4iOiJ2aW1lby5jb20iLCJ1cmwiOiJ2aW1lby5jb20iLCJjdXJfdXNlciI6ZmFsc2UsIm9yaWdpbl91c2VyX2lkIjpudWxsLCJvcmlnaW5fdXNlciI6ZmFsc2UsImlzX21vYmlsZSI6ZmFsc2UsImlzX3JlY29yZF90b29sX3N1cHBvcnRlZCI6ZmFsc2V9KTsKICAgIHZpbWVvLmNvbmZpZyA9IF9leHRlbmQoKHZpbWVvLmNvbmZpZyB8fCB7fSksIHsic3RpY2t5X3RvcG5hdiI6eyJleGNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcQWJvdXRDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQWJvdXRDb250cm9sbGVyOnByb2Zlc3Npb25hbHMiLCJWaW1lb1xcQ29udHJvbGxlclxcSG9tZUNvbnRyb2xsZXI6dXBncmFkZSIsIlZpbWVvXFxDb250cm9sbGVyXFxTdG9yZUNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcVXNlclxcU2V0dGluZ3MyQ29udHJvbGxlcjp0ZWFtX21lbWJlcnMiLCJWaW1lb1xcQ29udHJvbGxlclxcVXNlclxcU2V0dGluZ3MyQ29udHJvbGxlcjpwYXNzd29yZCIsIlZpbWVvXFxDb250cm9sbGVyXFxQcm9maWxlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBTdGF0c0NvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxDbGlwXFxTZXR0aW5nc1xcRW1iZWRDb250cm9sbGVyOmVtYmVkIiwiVmltZW9cXENvbnRyb2xsZXJcXFZpZGVvTWFuYWdlckNvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9SZXZpZXdDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE1lc3NhZ2VzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxTdGF0c0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcVXBsb2FkQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxPbkRlbWFuZFxcU2V0dGluZ3NDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzQ29udHJvbGxlciJdLCJzdGlja3lfaW5jbHVkZWRfcGFnZXMiOlsiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0hvbWVQYWdlQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxTdG9ja1xcU3RvY2tGb290YWdlQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxTdG9ja1xcU3RvY2tTZWFyY2hDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0NvbGxlY3Rpb25zQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxBbGJ1bUNvbnRyb2xsZXIiXSwidG9wbmF2X3dyYXBfc2VsZWN0b3IiOiIjdG9wbmF2X291dGVyX3dyYXAiLCJjb250ZW50X3dyYXBfc2VsZWN0b3IiOiIud3JhcF9jb250ZW50In0sImxvY2FsZSI6ImVuIiwib21uaXNlYXJjaF9qd3QiOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKbGVIQWlPakUyT1Rnek5URTJOakFzSW5WelpYSmZhV1FpT201MWJHd3NJbUZ3Y0Y5cFpDSTZOVGcwTnprc0luTmpiM0JsY3lJNkluQjFZbXhwWXlCd2NtbDJZWFJsSUdSbGJHVjBaU0lzSW5SbFlXMWZkWE5sY2w5cFpDSTZiblZzYkgwLlhPSlltcWZjS2x3ZWZXZVA2WmF3SFY4ZGlXNjljTjBqQ3hZbU5CUG5rUVEiLCJvbW5pc2VhcmNoX3VzZXIiOm51bGwsImFwaV91cmwiOiJhcGkudmltZW8uY29tIiwibWFnaXN0b19hcGlfaG9zdCI6InZpbWVvLm1hZ2lzdG8uY29tIiwiaGFzX3B1YmxpY19zZWFyY2hfZGlzYWJsZWQiOmZhbHNlLCJoYXNfYXV0b19jbG9zZWRfY2FwdGlvbnMiOmZhbHNlLCJoYXNfb2NyX3NlYXJjaCI6ZmFsc2UsImhhc192aWRlb19saWJyYXJ5IjpmYWxzZSwiaGFzX2VudGVycHJpc2UiOmZhbHNlLCJoYXNfcHJlY2lzaW9uX2F3YXJlX3NlYXJjaCI6ZmFsc2UsInRlYW1fdXNlciI6bnVsbCwic2hvdWxkT3B0SW50b01hcmtldGluZyI6dHJ1ZSwic2hvdWxkU2hvd01hcmtldGluZ0NoZWNrYm94IjpmYWxzZSwiaXNSZWNvcmRUb29sU3VwcG9ydGVkIjpmYWxzZSwidGVhbSI6bnVsbCwicmVmcmVzaGVkX3NzX2xpaHAiOmZhbHNlfSk7CgogICAgICAgIHZhciBfX2kxOG5Mb2NhbGUgPSAnZW4nOwogICAgdmFyIGxvY2FsZUNvbmZpZyA9IHsKICAgICAgICBsYW5nOiAnZW4nLAogICAgICAgICdEYXRlJzogewogICAgICAgICAgICBtb250aHM6IFsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSwKICAgICAgICAgICAgbW9udGhzX2FiYnI6IFsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sCiAgICAgICAgICAgIGRheXM6IFsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSwKICAgICAgICAgICAgZGF5c19hYmJyOiBbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLAoKICAgICAgICAgICAgLy8gQ3VsdHVyZSdzIGRhdGUgb3JkZXI6IE1NL0REL1lZWVkKICAgICAgICAgICAgZGF0ZU9yZGVyOiBbJ2RhdGUnLCAnbW9udGgnLCAneWVhciddLAogICAgICAgICAgICBzaG9ydERhdGU6ICclZC8lbS8lWScsCiAgICAgICAgICAgIHNob3J0VGltZTogJyVJOiVNJXAnLAogICAgICAgICAgICBBTTogJ0FNJywKICAgICAgICAgICAgUE06ICdQTScsCiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAwLAoKICAgICAgICAgICAgLy8gRGF0ZS5FeHRyYXMKICAgICAgICAgICAgb3JkaW5hbDogZnVuY3Rpb24oZGF5T2ZNb250aCl7CiAgICAgICAgICAgICAgICByZXR1cm4gZGF5T2ZNb250aDsKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgJ0RhdGVQaWNrZXInOiB7CiAgICAgICAgICAgIHNlbGVjdF9hX3RpbWU6ICJTZWxlY3QgYSB0aW1lIiwKICAgICAgICAgICAgdXNlX21vdXNlX3doZWVsOiAiVXNlIHRoZSBtb3VzZSB3aGVlbCB0byBxdWlja2x5IGNoYW5nZSB2YWx1ZSIsCiAgICAgICAgICAgIHRpbWVfY29uZmlybV9idXR0b246ICJPSyIsCiAgICAgICAgICAgIGFwcGx5X3JhbmdlOiAiQXBwbHkiLAogICAgICAgICAgICBjYW5jZWw6ICJDYW5jZWwiLAogICAgICAgICAgICB3ZWVrOiAiV2siICAgICAgICB9LAogICAgICAgICAgICAgICAgJ051bWJlcic6IHsKICAgICAgICAgICAgZGVjaW1hbDogJy4nLAogICAgICAgICAgICBncm91cDogJywnLAogICAgICAgICAgICBjdXJyZW5jeTogewogICAgICAgICAgICAgICAgcHJlZml4OiAnJCcKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgJ0Zvcm1WYWxpZGF0b3InOiB7InJlcXVpcmVkIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iLCJyZXF1aXJlZENoayI6IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn0gICAgfTsKCiAgICB2YXIgZnVsbExvY2FsZSA9ICcnOwoKICAgIAogICAgICAgIHZhciBDb3B5ID0ge3RyYW5zbGF0ZTpmdW5jdGlvbih0LGksdSl7dmFyIGU9J29iamVjdCchPXR5cGVvZiB0aGlzLmRpY3RbdF0/dGhpcy5kaWN0W3RdOmk/dGhpcy5kaWN0W3RdLnBsdXJhbDp0aGlzLmRpY3RbdF0uc2luZ3VsYXI7cmV0dXJuJ29iamVjdCc9PXR5cGVvZiB1JiYoZT10aGlzLnN1YnN0aXR1dGUoZSx1KSksZX0sc3Vic3RpdHV0ZTpmdW5jdGlvbih0LGkpe3JldHVybiB2b2lkIDAhPT10LnN1YnN0aXR1dGU/dC5zdWJzdGl0dXRlKGkpOnQucmVwbGFjZSgvXFw/XHsoW157fV0rKVx9L2csZnVuY3Rpb24odCx1KXtyZXR1cm4nXFwnPT10LmNoYXJBdCgwKT90LnNsaWNlKDEpOm51bGwhPWlbdV0/aVt1XTonJ30pfSxkaWN0Ont9fTsKICAgIENvcHkuZGljdCA9IHsiZGlkX3lvdV9tZWFuX2VtYWlsIjoiRGlkIHlvdSBtZWFuIDxlbT57U1VHR0VTVH08XC9lbT4/IiwiZW1haWxfcGFzc3dvcmRfbWlzbWF0Y2giOiJFbWFpbCBhbmQgcGFzc3dvcmQgZG8gbm90IG1hdGNoIiwib29wc190cnlfYWdhaW4iOiJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2Fpbi4iLCJqdXN0X25vdyI6Imp1c3Qgbm93Iiwic2Vjb25kc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IHNlY29uZCBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IHNlY29uZHMgYWdvIn0sIm1pbnV0ZXNfYWdvIjp7InNpbmd1bGFyIjoie0NPVU5UfSBtaW51dGUgYWdvIiwicGx1cmFsIjoie0NPVU5UfSBtaW51dGVzIGFnbyJ9LCJob3Vyc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IGhvdXIgYWdvIiwicGx1cmFsIjoie0NPVU5UfSBob3VycyBhZ28ifSwib3Blbl9jb21tZW50X2JveCI6IkFkZCBuZXcgY29tbWVudCBpbnN0ZWFkICZyYXF1bzsiLCJ1cmxfdW5hdmFpbGFibGUiOiJTb3JyeSwgdGhpcyB1cmwgaXMgdW5hdmFpbGFibGUuIiwidW5zYXZlZF9jaGFuZ2VzX2dlbmVyaWMiOiJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMsIGFyZSB5b3Ugc3VyZSB5b3Ugd2lzaCB0byBsZWF2ZT8iLCJhZGQiOiJBZGQiLCJyZW1vdmUiOiJSZW1vdmUiLCJzZWxlY3QiOiJTZWxlY3QiLCJub19mb2xsb3dlcnNfZm9yX2xldHRlciI6IllvdSBkb24mcnNxdW87dCBmb2xsb3cgYW55b25lIHRoYXQgYmVnaW4gd2l0aCB0aGUgbGV0dGVyICZsZHF1bzt7UEFHRV9MRVRURVJ9JnJkcXVvOyIsInNoYXJlX2xpbWl0X3JlYWNoZWQiOiJZb3UgaGF2ZSByZWFjaGVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VycyB0byBzaGFyZSB3aXRoLiIsImF0X2xlYXN0X29uZSI6IlRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIHVzZXIuIiwiYXZhaWxhYmxlIjoiQXZhaWxhYmxlIiwidW5hdmFpbGFibGUiOiJVbmF2YWlsYWJsZSIsImJyb3dzZV9lcnJvcl9nZW5lcmljIjoiU29ycnksIHRoZXJlIHdhcyBhbiBlcnJvciIsImJyb3dzZV9lcnJvcl9ub192aWRlb3MiOiJTb3JyeSwgbm8gdmlkZW9zIGZvdW5kIiwiZm9sbG93IjoiRm9sbG93IiwiZm9sbG93aW5nIjoiRm9sbG93aW5nIiwidW5mb2xsb3ciOiJVbmZvbGxvdyIsInVuZm9sbG93aW5nIjoiVW5mb2xsb3dpbmciLCJjb3VudF9jb21tZW50cyI6eyJzaW5ndWxhciI6IntDT1VOVH0gY29tbWVudCIsInBsdXJhbCI6IntDT1VOVH0gY29tbWVudHMifSwiZmlyc3RfY29tbWVudCI6IkJlIHRoZSBmaXJzdCB0byBjb21tZW50XHUyMDI2Iiwibm9fY29tbWVudHNfZm9yX3lvdSI6IkZvcmJpZGRlbi4gWW91IGNhbm5vdCBwb3N0IGNvbW1lbnRzIG9uIHRoaXMgcGFnZS4iLCJvb3BzIjoiT29wcyEiLCJwbGF5ZXJfdHJ5X2FnYWluIjoiVGhhdCB3YXNuJ3Qgc3VwcG9zZWQgdG8gaGFwcGVuLiBQbGVhc2UgdHJ5IGFnYWluIGluIGEgZmV3IG1pbnV0ZXMuIiwiZHVyYXRpb25faW5wdXRfbWluX2R1cmF0aW9uIjoiVGhlIGR1cmF0aW9uIGNhbm5vdCBiZSBsZXNzIHRoYW4ge01JTl9EVVJBVElPTn0uIiwiZHVyYXRpb25faW5wdXRfbWF4X2R1cmF0aW9uIjoiVGhlIGR1cmF0aW9uIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4ge01BWF9EVVJBVElPTn0uIiwiZHVyYXRpb25faW5wdXRfaW52YWxpZF9jaGFyYWN0ZXJzIjoiMC05IGFuZCA6IGFyZSB0aGUgb25seSBhY2NlcHRhYmxlIGlucHV0cy4iLCJjbG9zZSI6IkNsb3NlIiwiZXhwYW5kIjoiRXhwYW5kIiwibG9hZGluZyI6IkxvYWRpbmcuLi4iLCJ0b3AiOiJ0b3AiLCJhZHZhbmNlZF9zZWFyY2giOiJBZHZhbmNlZCBTZWFyY2giLCJub19zdWdnZXN0aW9ucyI6Ik5vIHN1Z2dlc3Rpb25zIiwicmVjZW50X3NlYXJjaGVzIjoiUmVjZW50IFNlYXJjaGVzIiwic2VhcmNoX2FsbCI6IlNlYXJjaCBBbGwgb2YgVmltZW8iLCJlbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBlbWFpbCBhbmQgcGFzc3dvcmQiLCJlbWFpbF9hZGRyZXNzIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcyIsIm5hbWVfZW1haWxfYW5kX3Bhc3N3b3JkIjoiUGxlYXNlIGVudGVyIHlvdXIgbmFtZSwgZW1haWwsIGFuZCBwYXNzd29yZCIsImVudGVyX3ZhbGlkX290cCI6IlBsZWFzZSBlbnRlciBhIHZhbGlkIGNvZGUifTsKPC9zY3JpcHQ+CgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9wbGF5ZXJfbWFuYWdlcl83ZTY3YmQxNTA0ZWQ4ZGIxMGI0NDk2ZWVhZjM4ZGJmMC5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBpZiAodHlwZW9mIHBsYXllckFzc2V0VXJscyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsYXllck1hbmFnZXIucnVuKHBsYXllckFzc2V0VXJscyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgPC9zY3JpcHQ+CgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvY2xpcF9jb21iaW5lZF9mYjhlZDk3YmI5ODEzM2I1MWY4MWMwZTU2ZmFiMDBhYy5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3RvcG5hdl9jYXJ0X2J1dHRvbl84ZGUwMGVmNWI0MjBmZjAzNDkyODE3NTBlNmY1NTI0Yy5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2NsaXAuY2VjMmNlOWI5NjU2NDYyOGI0ZjcuYnVuZGxlLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9jbGlwX2JldGFfbGlic19hc3luY19jb21iaW5lZF9kYjY3OTNjN2YzYWE0OWQzMDI5ZGJhYzQ1ZGU3OGQzZi5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2NyZWF0ZV9mYWNlYm9va19oZWFkZXIuZDJhY2FhN2ExNmY2N2FhMmJjM2QuYnVuZGxlLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0PgogICAgICAgIGZ1bmN0aW9uIG9uVmltZW9Eb21SZWFkeShlKSB7CiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXZpbWVvLmJ5cGFzc19wbGF5ZXJfcmVzcG9uc2l2ZV9kZWxlZ2F0ZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzID0gdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzIHx8IHt9OwogICAgICAgICAgICAgICAgICAgICAgICB2aW1lby5wbGF5ZXJfcmVzcG9uc2l2ZV9kZWxlZ2F0ZXMud2lsbE9wZW5TaGFyZU92ZXJsYXkgPSB2aW1lby5wbGF5ZXJfcmVzcG9uc2l2ZV9kZWxlZ2F0ZXMud2lsbE9wZW5TaGFyZU92ZXJsYXkgfHwgZnVuY3Rpb24oaWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGF5ZXJNYW5hZ2VyLnBhdXNlQWxsUGxheWVycygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpbWVvLnNoYXJlLlBvcHVwKGlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgICAgICAgICAgdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzLndpbGxPcGVuTG9naW5Gb3JtID0gdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzLndpbGxPcGVuTG9naW5Gb3JtIHx8IGZ1bmN0aW9uKGlkLCBjb250ZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZpbWVvLk1vZGFsICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsYXllck1hbmFnZXIucGF1c2VBbGxQbGF5ZXJzKCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpbWVvLlNlc3Npb24uY3JlYXRlKHsgcGxheWVyOiAxLCBjbGlwX2lkOiBpZCwgY29udGV4dDogY29udGV4dCB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpbWVvLlNlc3Npb24uY3JlYXRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoUGxheWVyTWFuYWdlcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGxheWVyTWFuYWdlci5zZXREZWZhdWx0RGVsZWdhdGUodmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYgKFBsYXllck1hbmFnZXIpIHsKICAgICAgICAgICAgICAgICAgICBQbGF5ZXJNYW5hZ2VyLmRpc3BhdGNoUmVhZHlTaWduYWxzKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkucmVhZHkob25WaW1lb0RvbVJlYWR5KTsKICAgICAgICAgICAgPC9zY3JpcHQ+CgogICAgPC9ib2R5Pgo8L2h0bWw+Cg== - recorded_at: Thu, 26 Oct 2023 20:09:29 GMT -- request: - method: head - uri: https://vimeo.com/7848846 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 200 - message: OK - headers: - Date: - - Thu, 26 Oct 2023 20:09:30 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 20:19:30 GMT - X-Vimeo-Device: - - d - X-Ua-Compatible: - - IE=edge - X-Xss-Protection: - - 1; mode=block - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - sameorigin - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Content-Security-Policy-Report-Only: - - 'default-src https: data: blob: wss: ''unsafe-inline'' ''unsafe-eval''; report-uri - /_csp' - X-Bapp-Server: - - pweb-7cc5595cc8-khsfj - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-16 - X-Backend-Proxy: - - webproxy17 - Age: - - '0' - X-Served-By: - - cache-iad-kjyo7100043-IAD, cache-mrs10522-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350970.000315,VS0,VE338 - Vary: - - User-Agent,Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=ecyYS7C9hVdC61ZJGsZ3o5xzbAGPyeKPz43RLQ6N7lM-1698350970-0-ARYYuzGxCBWUPyBfVkEbNB6Z+MtKjJEZD9Fws4EYitzV0hFHmRIZsDC88YLbQEEs0PpXDVfyv114PxRhQYV1yFM=; - path=/; expires=Thu, 26-Oct-23 20:39:30 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c5565a5ff5076f-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:30 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_14_1_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_14_1_1.yml new file mode 100644 index 00000000..1324048b --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/1_14_1_1.yml @@ -0,0 +1,247 @@ +--- +http_interactions: +- request: + method: head + uri: https://vimeo.com/7848846 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 26 Oct 2023 20:26:08 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 20:36:08 GMT + X-Vimeo-Device: + - d + X-Ua-Compatible: + - IE=edge + X-Xss-Protection: + - 1; mode=block + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - sameorigin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Content-Security-Policy-Report-Only: + - 'default-src https: data: blob: wss: ''unsafe-inline'' ''unsafe-eval''; report-uri + /_csp' + X-Bapp-Server: + - pweb-7cc5595cc8-fk8vt + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-15 + X-Backend-Proxy: + - webproxy16 + Age: + - '0' + X-Served-By: + - cache-iad-kjyo7100043-IAD, cache-lcy-eglc8600045-LCY + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698351968.152028,VS0,VE363 + Vary: + - User-Agent,Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=7yX8DZtM1IA5h0JnquYY7tcwDaTT32gK1rb8eaa_jFU-1698351968-0-AVYz7g6IA0tohwDdbBNVFu2D0dQvGkzTFEh64dYsCvtnhQl/1M8xGghfvN8bH7T5ynkfBT8Unbb9DhbBBsE1Gjk=; + path=/; expires=Thu, 26-Oct-23 20:56:08 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c56eb8dcf502d9-CDG + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:26:08 GMT +- request: + method: get + uri: https://vimeo.com/7848846 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 26 Oct 2023 20:26:09 GMT + Content-Type: + - text/html; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 20:36:09 GMT + X-Vimeo-Device: + - d + X-Ua-Compatible: + - IE=edge + X-Xss-Protection: + - 1; mode=block + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - sameorigin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Content-Security-Policy-Report-Only: + - 'default-src https: data: blob: wss: ''unsafe-inline'' ''unsafe-eval''; report-uri + /_csp' + X-Bapp-Server: + - pweb-7cc5595cc8-vkfws + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-6 + X-Backend-Proxy: + - webproxy7 + Age: + - '0' + X-Served-By: + - cache-iad-kjyo7100043-IAD, cache-lcy-eglc8600052-LCY + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698351969.066993,VS0,VE361 + Vary: + - User-Agent,Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=gsA49M49VCNQdqspfTztLDXcAaTMog0iwqtgyOQNkTk-1698351969-0-AUYAL99sn87eKnam0cFDJ3QbE77V0iMd9fAM+8f0HiNwoJHFQOFc4ftpSswGVXm9HSEBMkXkwWEmXzfzZ2EYjhY=; + path=/; expires=Thu, 26-Oct-23 20:56:09 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c56ebe8ea80477-CDG + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iVmltZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vdmltZW8uY29tLzc4NDg4NDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ2aWRlby5vdGhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJJS09OUyAtIFNMT1cgTElHSFQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iQXJ0aXN0OiBJS09OUy4gVGl0bGU6IFNMT1cgTElHSFQuIENyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uIExhYmVsOiBTRVJWSUNFLiB3d3cuc3J2Yy5zZSAgQWxidW0gJnF1b3Q7SWtvbnMmcXVvdDsgb3V0IG5vdyBDRC9MUC9TdHJlYW0gZnJvbSBTZXJ2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXBkYXRlZF90aW1lIiBjb250ZW50PSIyMDIyLTA3LTAxVDA2OjA1OjEwLTA0OjAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vdmlkZW8vMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kP2Y9d2VicCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOnNlY3VyZV91cmwiIGNvbnRlbnQ9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vdmlkZW8vMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kP2Y9d2VicCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOnR5cGUiIGNvbnRlbnQ9ImltYWdlL3dlYnAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTp3aWR0aCIgY29udGVudD0iMTI4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOmhlaWdodCIgY29udGVudD0iOTYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0iYWw6aW9zOmFwcF9uYW1lIiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmlvczphcHBfc3RvcmVfaWQiIGNvbnRlbnQ9IjQyNTE5NDc1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmlvczp1cmwiIGNvbnRlbnQ9InZpbWVvOi8vYXBwLnZpbWVvLmNvbS92aWRlb3MvNzg0ODg0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmFuZHJvaWQ6YXBwX25hbWUiIGNvbnRlbnQ9IlZpbWVvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBwcm9wZXJ0eT0iYWw6YW5kcm9pZDpwYWNrYWdlIiBjb250ZW50PSJjb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmFuZHJvaWQ6dXJsIiBjb250ZW50PSJ2aW1lbzovL2FwcC52aW1lby5jb20vdmlkZW9zLzc4NDg4NDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJhbDp3ZWI6c2hvdWxkX2ZhbGxiYWNrIiBjb250ZW50PSJ0cnVlIj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQXJ0aXN0OiBJS09OUy4gVGl0bGU6IFNMT1cgTElHSFQuIENyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uIExhYmVsOiBTRVJWSUNFLiB3d3cuc3J2Yy5zZSAgQWxidW0gJnF1b3Q7SWtvbnMmcXVvdDsgb3V0IG5vdyBDRC9MUC9TdHJlYW0gZnJvbSBTZXJ2aWNlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InBsYXllciI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJAdmltZW8iPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6dGl0bGUiIGNvbnRlbnQ9IklLT05TIC0gU0xPVyBMSUdIVCI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iQXJ0aXN0OiBJS09OUy4gVGl0bGU6IFNMT1cgTElHSFQuIENyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uIExhYmVsOiBTRVJWSUNFLiB3d3cuc3J2Yy5zZSAgQWxidW0gJnF1b3Q7SWtvbnMmcXVvdDsgb3V0IG5vdyBDRC9MUC9TdHJlYW0gZnJvbSBTZXJ2aWNlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL3ZpZGVvLzM1MDE0NTg0LTQ0NjY1NjQyMWE5MzVmOWYyNTYzNzVmMWZhZTJkYzhhMmQ1MDAzMDMwOTk5YTIzNTYxYTc2YTRhZDVjZTFiZjEtZD9mPXdlYnAiPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6cGxheWVyIiBjb250ZW50PSJodHRwczovL3BsYXllci52aW1lby5jb20vdmlkZW8vNzg0ODg0Nj9oPTQ2NmViZDJmMzMiPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6cGxheWVyOndpZHRoIiBjb250ZW50PSIxMjgwIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnBsYXllcjpoZWlnaHQiIGNvbnRlbnQ9Ijk2MCI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJAdmltZW8iPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOm5hbWU6aXBob25lIiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6aWQ6aXBob25lIiBjb250ZW50PSI0MjUxOTQ3NTkiPgogICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOnVybDppcGhvbmUiIGNvbnRlbnQ9InZpbWVvOi8vYXBwLnZpbWVvLmNvbS92aWRlb3MvNzg0ODg0NiI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6bmFtZTppcGFkIiBjb250ZW50PSJWaW1lbyI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6aWQ6aXBhZCIgY29udGVudD0iNDI1MTk0NzU5Ij4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDp1cmw6aXBhZCIgY29udGVudD0idmltZW86Ly9hcHAudmltZW8uY29tL3ZpZGVvcy83ODQ4ODQ2Ij4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDpuYW1lOmdvb2dsZXBsYXkiIGNvbnRlbnQ9IlZpbWVvIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDppZDpnb29nbGVwbGF5IiBjb250ZW50PSJjb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCI+CiAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6dXJsOmdvb2dsZXBsYXkiIGNvbnRlbnQ9InZpbWVvOi8vYXBwLnZpbWVvLmNvbS92aWRlb3MvNzg0ODg0NiI+CiAgICAKCgoKICAgICAgICAgICAgICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYXBpL29lbWJlZC5qc29uP3VybD1odHRwcyUzQSUyRiUyRnZpbWVvLmNvbSUyRjc4NDg4NDYlM0ZoJTNENDY2ZWJkMmYzMyIgdHlwZT0iYXBwbGljYXRpb24vanNvbitvZW1iZWQiIHRpdGxlPSJJS09OUyAtIFNMT1cgTElHSFQiPgogICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2FwaS9vZW1iZWQueG1sP3VybD1odHRwcyUzQSUyRiUyRnZpbWVvLmNvbSUyRjc4NDg4NDYlM0ZoJTNENDY2ZWJkMmYzMyIgdHlwZT0idGV4dC94bWwrb2VtYmVkIiB0aXRsZT0iSUtPTlMgLSBTTE9XIExJR0hUIj4KICAgICAgICAgICAgICAgIDxsaW5rIHJlbD0icGluZ2JhY2siIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL19waW5nYmFjayI+CiAgICAgICAgICAgICAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vNzg0ODg0NiI+CiAgICAgICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uLXByZWNvbXBvc2VkIiBocmVmPSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xODAiPgoKPGxpbmsgcmVsPSJtYXNrLWljb24iIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3ZnL2xlZ2FjeV92aWV3X3N1cHBvcnQvaXJpc19pY29uX3ZfNjQuc3ZnP2IwNmM0ZTFlZjEzZTdiZTczMDM0NjQ3OTYxMjE4ZjJhNTkwNDFhNGYiIGNvbG9yPSIjMTcyNzJlIj4KCiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2L2Zhdmljb24uaWNvP2IwNmM0ZTFlZjEzZTdiZTczMDM0NjQ3OTYxMjE4ZjJhNTkwNDFhNGYiIGRhdGEtcGxheT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BsYXlfMzIiIGRhdGEtcGF1c2U9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9wYXVzZV8zMiI+Cgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVJbWFnZSIgY29udGVudD0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL21haW4tdG91Y2hfMTQ0Ij4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlQ29sb3IiIGNvbnRlbnQ9IiMwMGFkZWYiPgogICAgICAgIDx0aXRsZT5JS09OUyAtIFNMT1cgTElHSFQgb24gVmltZW88L3RpdGxlPgogICAgICAgIDxzdHlsZT4KICAjb3Qtc2RrLWJ0biB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KPC9zdHlsZT4KPHNjcmlwdD4KICAoZnVuY3Rpb24oKSB7CiAgICBmdW5jdGlvbiBpc0NyYXdsZXIoKSB7CiAgICAgIHZhciBjcmF3bGVyVUEgPSBbCiAgICAgICAgJ2Fkc2JvdC1nb29nbGUnLAogICAgICAgICdhcHBsZWJvdCcsCiAgICAgICAgJ2JhaWR1c3BpZGVyJywKICAgICAgICAnYmluZ2JvdCcsCiAgICAgICAgJ2JsZWtrb2JvdCcsCiAgICAgICAgJ0VtYmVkbHknLAogICAgICAgICdmYWNlYm9va2V4dGVybmFsaGl0JywKICAgICAgICAnRmFjZWJvdCcsCiAgICAgICAgJ2ZlZWRmZXRjaGVyLWdvb2dsZScsCiAgICAgICAgJ2ZlZWRseScsCiAgICAgICAgJ0ZsaXBib2FyZFByb3h5JywKICAgICAgICAnZ29vZ2xlIHdlYiBwcmV2aWV3JywKICAgICAgICAnZ29vZ2xlYm90JywKICAgICAgICAnZ29vZ2xlYm90LW5ld3MnLAogICAgICAgICdnb29nbGUtaW5zcGVjdGlvbnRvb2wnLAogICAgICAgICdnb29nbGVvdGhlcicsCiAgICAgICAgJ0dyYXBlc2hvdENyYXdsZXInLAogICAgICAgICdsaW5rZWRpbmJvdCcsCiAgICAgICAgJ21haWwucnVfYm90JywKICAgICAgICAnbWVkaWFwYXJ0bmVycy1nb29nbGUnLAogICAgICAgICdtc25ib3RfbW9iaWxlJywKICAgICAgICAnbXNuYm90JywKICAgICAgICAnbXNuYm90JywKICAgICAgICAncGludGVyZXN0JywKICAgICAgICAnU2V6bmFtJywKICAgICAgICAnU2t5cGVVcmlQcmV2aWV3JywKICAgICAgICAnc2x1cnAnLAogICAgICAgICdzdG9yZWJvdC1nb29nbGUnLAogICAgICAgICdzdXBlcmZlZWRyIGJvdCcsCiAgICAgICAgJ3R1bWJscicsCiAgICAgICAgJ3R3aXR0ZXJib3QnLAogICAgICAgICd5YW5kZXgnLAogICAgICAgICdwcmVyZW5kZXInCiAgICAgIF07CiAgICAgIGNvbnN0IHJlZ0V4ID0gbmV3IFJlZ0V4cCgKICAgICAgICBgKCR7Y3Jhd2xlclVBLmpvaW4oJ3wnKS5yZXBsYWNlKCcuJywgJ1xcLicpLnJlcGxhY2UoJy0nLCAnXFwtJyl9KWAsCiAgICAgICAgJ2knLAogICAgICApOwoKICAgICAgcmV0dXJuICEhd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2gocmVnRXgpOwogICAgfQoKICAgIGZ1bmN0aW9uIGFkZFNjcmlwdChzcmMsIGRhdGFTZXQpIHsKICAgICAgdmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgc2NyaXB0RWxlbWVudC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICAgIHNjcmlwdEVsZW1lbnQuc3JjID0gc3JjOwoKICAgICAgaWYgKGRhdGFTZXQpIHsKICAgICAgICBPYmplY3Qua2V5cyhkYXRhU2V0KS5mb3JFYWNoKChrZXkpID0+IHsKICAgICAgICAgIHNjcmlwdEVsZW1lbnQuZGF0YXNldFtrZXldID0gZGF0YVNldFtrZXldOwogICAgICAgIH0pOwogICAgICB9CgogICAgICB2YXIgZmlyc3RTY3JpcHQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07CiAgICAgIGlmIChmaXJzdFNjcmlwdCkgewogICAgICAgIGZpcnN0U2NyaXB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNjcmlwdEVsZW1lbnQsIGZpcnN0U2NyaXB0KTsKICAgICAgfQogICAgfQoKICAgIGlmIChpc0NyYXdsZXIoKSkgcmV0dXJuOwoKICAgICAgICBhZGRTY3JpcHQoCiAgICAgICdodHRwczovL2Nkbi5jb29raWVsYXcub3JnL3NjcmlwdHRlbXBsYXRlcy9vdFNES1N0dWIuanMnLCB7CiAgICAgICAgZG9tYWluU2NyaXB0OiAnZDMyNzBmMWYtMjRmMy00NDJhLWI4ZWUtZTY2ZjQyYjNiYjE5JywKICAgICAgICBkb2N1bWVudExhbmd1YWdlOiAndHJ1ZScKICAgICAgfQogICAgKTsKICB9KSgpOwoKICBmdW5jdGlvbiBPcHRhbm9uV3JhcHBlcigpIHsKICAgIC8qKgogICAgICogU2VuZGluZyBsb2NhdGlvbiBkYXRhIGZvciBibG9ja2luZyBHVE0gY29va2llcwogICAgICovCiAgICBvbmVUcnVzdFRyaWdnZXJlZCA9IHRydWU7CiAgICB2YXIgbG9jYXRpb24gPSBPbmVUcnVzdC5nZXRHZW9sb2NhdGlvbkRhdGEoKTsKICAgIGlmKHdpbmRvdyAmJiB3aW5kb3cuX2d0bSkgewogICAgICB3aW5kb3cuX2d0bS5wdXNoKGxvY2F0aW9uKTsKICAgIH0KICAgIC8qKgogICAgICogVGhpcyBpcyBuZWVkZWQgaW4gY2FzZSB0aGUgc2NyaXB0cyBsb2FkcyBiZWZvcmUgdGhlIG9uZXRydXN0IGJ0biBsb2FkcwogICAgICovCiAgICBpZihsb2NhdGlvbiAmJiBsb2NhdGlvbi5jb3VudHJ5ID09PSAnRlInICYmIGRvY3VtZW50LmhlYWQpIHsKICAgICAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7CiAgICAgIHZhciBzdHlsZXNoZWV0ID0gc3R5bGUuc2hlZXQ7CiAgICAgIGlmIChzdHlsZXNoZWV0KSB7CiAgICAgICAgc3R5bGVzaGVldC5pbnNlcnRSdWxlKCcjb3Qtc2RrLWJ0biB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9Jyk7CiAgICAgIH0KICAgIH0KICB9Cjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIC8vIEZpcnN0IElucHV0IERlbGF5IHRyYWNraW5nLiBIaWdoIHByaW9yaXR5IGxvYWRpbmcgdG8gbm90IG1pc3MgZXZlbnQKICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0dvb2dsZUNocm9tZUxhYnMvZmlyc3QtaW5wdXQtZGVsYXkvYmxvYi9tYXN0ZXIvZGlzdC9maXJzdC1pbnB1dC1kZWxheS5taW4uanMKICAgICAgICAgICAgIWZ1bmN0aW9uKG4sZSl7dmFyIHQsbyxpLGM9W10sZj17cGFzc2l2ZTohMCxjYXB0dXJlOiEwfSxyPW5ldyBEYXRlLGE9InBvaW50ZXJ1cCIsdT0icG9pbnRlcmNhbmNlbCI7ZnVuY3Rpb24gcChuLGMpe3R8fCh0PWMsbz1uLGk9bmV3IERhdGUsdyhlKSxzKCkpfWZ1bmN0aW9uIHMoKXtvPj0wJiZvPGktciYmKGMuZm9yRWFjaChmdW5jdGlvbihuKXtuKG8sdCl9KSxjPVtdKX1mdW5jdGlvbiBsKHQpe2lmKHQuY2FuY2VsYWJsZSl7dmFyIG89KHQudGltZVN0YW1wPjFlMTI/bmV3IERhdGU6cGVyZm9ybWFuY2Uubm93KCkpLXQudGltZVN0YW1wOyJwb2ludGVyZG93biI9PXQudHlwZT9mdW5jdGlvbih0LG8pe2Z1bmN0aW9uIGkoKXtwKHQsbykscigpfWZ1bmN0aW9uIGMoKXtyKCl9ZnVuY3Rpb24gcigpe2UoYSxpLGYpLGUodSxjLGYpfW4oYSxpLGYpLG4odSxjLGYpfShvLHQpOnAobyx0KX19ZnVuY3Rpb24gdyhuKXtbImNsaWNrIiwibW91c2Vkb3duIiwia2V5ZG93biIsInRvdWNoc3RhcnQiLCJwb2ludGVyZG93biJdLmZvckVhY2goZnVuY3Rpb24oZSl7bihlLGwsZil9KX13KG4pLHNlbGYucGVyZk1ldHJpY3M9c2VsZi5wZXJmTWV0cmljc3x8e30sc2VsZi5wZXJmTWV0cmljcy5vbkZpcnN0SW5wdXREZWxheT1mdW5jdGlvbihuKXtjLnB1c2gobikscygpfX0oYWRkRXZlbnRMaXN0ZW5lcixyZW1vdmVFdmVudExpc3RlbmVyKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgLy8gQ3JlYXRlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZm9yIHRyYWNraW5nIFRUSQogICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0dvb2dsZUNocm9tZUxhYnMvdHRpLXBvbHlmaWxsCiAgICAgICAgICAhZnVuY3Rpb24oKXtpZignUGVyZm9ybWFuY2VMb25nVGFza1RpbWluZycgaW4gd2luZG93KXt2YXIgZz13aW5kb3cuX190dGk9e2U6W119OwogICAgICAgICAgZy5vPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGZ1bmN0aW9uKGwpe2cuZT1nLmUuY29uY2F0KGwuZ2V0RW50cmllcygpKX0pOwogICAgICAgICAgZy5vLm9ic2VydmUoe2VudHJ5VHlwZXM6Wydsb25ndGFzayddfSl9fSgpOwogICAgICAgIDwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KaWYod2luZG93JiZ3aW5kb3cuZmV0Y2gmJi0xPT09d2luZG93LmZldGNoLnRvU3RyaW5nKCkuaW5kZXhPZigiUHJvZmlsaW5nIikmJi0xIT09ZG9jdW1lbnQuY29va2llLmluZGV4T2YoImxvZ3M9MSIpKXtjb25zdCBlPXdpbmRvdy5mZXRjaCxuPVsiYXBpLnZpbWVvLmNvbSIsInZpbWVvLmNvbSJdO3dpbmRvdy5mZXRjaD0oYXN5bmMoLi4udCk9PntsZXRbaSxvXT10O2NvbnN0IGQ9bmV3IFVSTChpLGRvY3VtZW50LmJhc2VVUkkpLmhvc3Q7cmV0dXJuIG8mJm8uaGVhZGVycyYmbi5pbmNsdWRlcyhkKSYmKG8uaGVhZGVycy5Qcm9maWxpbmc9MSksYXdhaXQgZShpLG8pfSl9Cjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KO3dpbmRvdy5OUkVVTXx8KE5SRVVNPXt9KTtOUkVVTS5pbml0PXtwcml2YWN5Ontjb29raWVzX2VuYWJsZWQ6dHJ1ZX19Owp3aW5kb3cuTlJFVU18fChOUkVVTT17fSksX19ucl9yZXF1aXJlPWZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKG4pe2lmKCFlW25dKXt2YXIgbz1lW25dPXtleHBvcnRzOnt9fTt0W25dWzBdLmNhbGwoby5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBvPXRbbl1bMV1bZV07cmV0dXJuIHIob3x8ZSl9LG8sby5leHBvcnRzKX1yZXR1cm4gZVtuXS5leHBvcnRzfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBfX25yX3JlcXVpcmUpcmV0dXJuIF9fbnJfcmVxdWlyZTtmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKylyKG5bb10pO3JldHVybiByfSh7MTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7dHJ5e2MuY29uc29sZSYmY29uc29sZS5sb2codCl9Y2F0Y2goZSl7fX12YXIgbyxpPXQoImVlIiksYT10KDI4KSxjPXt9O3RyeXtvPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJfX25yX2ZsYWdzIikuc3BsaXQoIiwiKSxjb25zb2xlJiYiZnVuY3Rpb24iPT10eXBlb2YgY29uc29sZS5sb2cmJihjLmNvbnNvbGU9ITAsby5pbmRleE9mKCJkZXYiKSE9PS0xJiYoYy5kZXY9ITApLG8uaW5kZXhPZigibnJfZGV2IikhPT0tMSYmKGMubnJEZXY9ITApKX1jYXRjaChzKXt9Yy5uckRldiYmaS5vbigiaW50ZXJuYWwtZXJyb3IiLGZ1bmN0aW9uKHQpe3IodC5zdGFjayl9KSxjLmRldiYmaS5vbigiZm4tZXJyIixmdW5jdGlvbih0LGUsbil7cihuLnN0YWNrKX0pLGMuZGV2JiYocigiTlIgQUdFTlQgSU4gREVWRUxPUE1FTlQgTU9ERSIpLHIoImZsYWdzOiAiK2EoYyxmdW5jdGlvbih0LGUpe3JldHVybiB0fSkuam9pbigiLCAiKSkpfSx7fV0sMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scixjKXt0cnl7bD9sLT0xOm8oY3x8bmV3IFVuY2F1Z2h0RXhjZXB0aW9uKHQsZSxuKSwhMCl9Y2F0Y2godSl7dHJ5e2koImllcnIiLFt1LHMubm93KCksITBdKX1jYXRjaChkKXt9fXJldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBmJiZmLmFwcGx5KHRoaXMsYShhcmd1bWVudHMpKX1mdW5jdGlvbiBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbil7dGhpcy5tZXNzYWdlPXR8fCJVbmNhdWdodCBlcnJvciB3aXRoIG5vIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24iLHRoaXMuc291cmNlVVJMPWUsdGhpcy5saW5lPW59ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPWU/bnVsbDpzLm5vdygpO2koImVyciIsW3Qsbl0pfXZhciBpPXQoImhhbmRsZSIpLGE9dCgyOSksYz10KCJlZSIpLHM9dCgibG9hZGVyIiksdT10KCJnb3MiKSxmPXdpbmRvdy5vbmVycm9yLGQ9ITEscD0ibnJAc2VlbkVycm9yIixsPTA7cy5mZWF0dXJlcy5lcnI9ITAsdCgxKSx3aW5kb3cub25lcnJvcj1yO3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2goaCl7InN0YWNrImluIGgmJih0KDEzKSx0KDEyKSwiYWRkRXZlbnRMaXN0ZW5lciJpbiB3aW5kb3cmJnQoNikscy54aHJXcmFwcGFibGUmJnQoMTQpLGQ9ITApfWMub24oImZuLXN0YXJ0IixmdW5jdGlvbih0LGUsbil7ZCYmKGwrPTEpfSksYy5vbigiZm4tZXJyIixmdW5jdGlvbih0LGUsbil7ZCYmIW5bcF0mJih1KG4scCxmdW5jdGlvbigpe3JldHVybiEwfSksdGhpcy50aHJvd249ITAsbyhuKSl9KSxjLm9uKCJmbi1lbmQiLGZ1bmN0aW9uKCl7ZCYmIXRoaXMudGhyb3duJiZsPjAmJihsLT0xKX0pLGMub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtpKCJpZXJyIixbdCxzLm5vdygpLCEwXSl9KX0se31dLDM6W2Z1bmN0aW9uKHQsZSxuKXt0KCJsb2FkZXIiKS5mZWF0dXJlcy5pbnM9ITB9LHt9XSw0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe0wrKyxUPWcuaGFzaCx0aGlzW2ZdPXkubm93KCl9ZnVuY3Rpb24gbygpe0wtLSxnLmhhc2ghPT1UJiZpKDAsITApO3ZhciB0PXkubm93KCk7dGhpc1toXT1+fnRoaXNbaF0rdC10aGlzW2ZdLHRoaXNbZF09dH1mdW5jdGlvbiBpKHQsZSl7RS5lbWl0KCJuZXdVUkwiLFsiIitnLGVdKX1mdW5jdGlvbiBhKHQsZSl7dC5vbihlLGZ1bmN0aW9uKCl7dGhpc1tlXT15Lm5vdygpfSl9dmFyIGM9Ii1zdGFydCIscz0iLWVuZCIsdT0iLWJvZHkiLGY9ImZuIitjLGQ9ImZuIitzLHA9ImNiIitjLGw9ImNiIitzLGg9ImpzVGltZSIsbT0iZmV0Y2giLHY9ImFkZEV2ZW50TGlzdGVuZXIiLHc9d2luZG93LGc9dy5sb2NhdGlvbix5PXQoImxvYWRlciIpO2lmKHdbdl0mJnkueGhyV3JhcHBhYmxlKXt2YXIgeD10KDEwKSxiPXQoMTEpLEU9dCg4KSxSPXQoNiksTz10KDEzKSxOPXQoNyksUD10KDE0KSxNPXQoOSksUz10KCJlZSIpLEM9Uy5nZXQoInRyYWNlciIpO3QoMTYpLHkuZmVhdHVyZXMuc3BhPSEwO3ZhciBULEw9MDtTLm9uKGYsciksYi5vbihwLHIpLE0ub24ocCxyKSxTLm9uKGQsbyksYi5vbihsLG8pLE0ub24obCxvKSxTLmJ1ZmZlcihbZixkLCJ4aHItZG9uZSIsInhoci1yZXNvbHZlZCJdKSxSLmJ1ZmZlcihbZl0pLE8uYnVmZmVyKFsic2V0VGltZW91dCIrcywiY2xlYXJUaW1lb3V0IitjLGZdKSxQLmJ1ZmZlcihbZiwibmV3LXhociIsInNlbmQteGhyIitjXSksTi5idWZmZXIoW20rYyxtKyItZG9uZSIsbSt1K2MsbSt1K3NdKSxFLmJ1ZmZlcihbIm5ld1VSTCJdKSx4LmJ1ZmZlcihbZl0pLGIuYnVmZmVyKFsicHJvcGFnYXRlIixwLGwsImV4ZWN1dG9yLWVyciIsInJlc29sdmUiK2NdKSxDLmJ1ZmZlcihbZiwibm8tIitmXSksTS5idWZmZXIoWyJuZXctanNvbnAiLCJjYi1zdGFydCIsImpzb25wLWVycm9yIiwianNvbnAtZW5kIl0pLGEoUCwic2VuZC14aHIiK2MpLGEoUywieGhyLXJlc29sdmVkIiksYShTLCJ4aHItZG9uZSIpLGEoTixtK2MpLGEoTixtKyItZG9uZSIpLGEoTSwibmV3LWpzb25wIiksYShNLCJqc29ucC1lbmQiKSxhKE0sImNiLXN0YXJ0IiksRS5vbigicHVzaFN0YXRlLWVuZCIsaSksRS5vbigicmVwbGFjZVN0YXRlLWVuZCIsaSksd1t2XSgiaGFzaGNoYW5nZSIsaSwhMCksd1t2XSgibG9hZCIsaSwhMCksd1t2XSgicG9wc3RhdGUiLGZ1bmN0aW9uKCl7aSgwLEw+MSl9LCEwKX19LHt9XSw1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt9aWYod2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSl7dmFyIG89dCgiZWUiKSxpPXQoImhhbmRsZSIpLGE9dCgxMyksYz10KDEyKSxzPSJsZWFyUmVzb3VyY2VUaW1pbmdzIix1PSJhZGRFdmVudExpc3RlbmVyIixmPSJyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiLGQ9ImJzdFJlc291cmNlIixwPSJyZXNvdXJjZSIsbD0iLXN0YXJ0IixoPSItZW5kIixtPSJmbiIrbCx2PSJmbiIraCx3PSJic3RUaW1lciIsZz0icHVzaFN0YXRlIix5PXQoImxvYWRlciIpO3kuZmVhdHVyZXMuc3RuPSEwLHQoOCksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpO3ZhciB4PU5SRVVNLm8uRVY7by5vbihtLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmKHRoaXMuYnN0U3RhcnQ9eS5ub3coKSl9KSxvLm9uKHYsZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdO24gaW5zdGFuY2VvZiB4JiZpKCJic3QiLFtuLGUsdGhpcy5ic3RTdGFydCx5Lm5vdygpXSl9KSxhLm9uKG0sZnVuY3Rpb24odCxlLG4pe3RoaXMuYnN0U3RhcnQ9eS5ub3coKSx0aGlzLmJzdFR5cGU9bn0pLGEub24odixmdW5jdGlvbih0LGUpe2kodyxbZSx0aGlzLmJzdFN0YXJ0LHkubm93KCksdGhpcy5ic3RUeXBlXSl9KSxjLm9uKG0sZnVuY3Rpb24oKXt0aGlzLmJzdFN0YXJ0PXkubm93KCl9KSxjLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiXSl9KSxvLm9uKGcrbCxmdW5jdGlvbih0KXt0aGlzLnRpbWU9eS5ub3coKSx0aGlzLnN0YXJ0UGF0aD1sb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNofSksby5vbihnK2gsZnVuY3Rpb24odCl7aSgiYnN0SGlzdCIsW2xvY2F0aW9uLnBhdGhuYW1lK2xvY2F0aW9uLmhhc2gsdGhpcy5zdGFydFBhdGgsdGhpcy50aW1lXSl9KSx1IGluIHdpbmRvdy5wZXJmb3JtYW5jZSYmKHdpbmRvdy5wZXJmb3JtYW5jZVsiYyIrc10/d2luZG93LnBlcmZvcm1hbmNlW3VdKGYsZnVuY3Rpb24odCl7aShkLFt3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShwKV0pLHdpbmRvdy5wZXJmb3JtYW5jZVsiYyIrc10oKX0sITEpOndpbmRvdy5wZXJmb3JtYW5jZVt1XSgid2Via2l0IitmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbIndlYmtpdEMiK3NdKCl9LCExKSksZG9jdW1lbnRbdV0oInNjcm9sbCIscix7cGFzc2l2ZTohMH0pLGRvY3VtZW50W3VdKCJrZXlwcmVzcyIsciwhMSksZG9jdW1lbnRbdV0oImNsaWNrIixyLCExKX19LHt9XSw2OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmb3IodmFyIGU9dDtlJiYhZS5oYXNPd25Qcm9wZXJ0eShmKTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7ZSYmbyhlKX1mdW5jdGlvbiBvKHQpe2MuaW5QbGFjZSh0LFtmLGRdLCItIixpKX1mdW5jdGlvbiBpKHQsZSl7cmV0dXJuIHRbMV19dmFyIGE9dCgiZWUiKS5nZXQoImV2ZW50cyIpLGM9dCgid3JhcC1mdW5jdGlvbiIpKGEsITApLHM9dCgiZ29zIiksdT1YTUxIdHRwUmVxdWVzdCxmPSJhZGRFdmVudExpc3RlbmVyIixkPSJyZW1vdmVFdmVudExpc3RlbmVyIjtlLmV4cG9ydHM9YSwiZ2V0UHJvdG90eXBlT2YiaW4gT2JqZWN0PyhyKGRvY3VtZW50KSxyKHdpbmRvdykscih1LnByb3RvdHlwZSkpOnUucHJvdG90eXBlLmhhc093blByb3BlcnR5KGYpJiYobyh3aW5kb3cpLG8odS5wcm90b3R5cGUpKSxhLm9uKGYrIi1zdGFydCIsZnVuY3Rpb24odCxlKXt2YXIgbj10WzFdLHI9cyhuLCJuckB3cmFwcGVkIixmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi5oYW5kbGVFdmVudClyZXR1cm4gbi5oYW5kbGVFdmVudC5hcHBseShuLGFyZ3VtZW50cyl9dmFyIGU9e29iamVjdDp0LCJmdW5jdGlvbiI6bn1bdHlwZW9mIG5dO3JldHVybiBlP2MoZSwiZm4tIixudWxsLGUubmFtZXx8ImFub255bW91cyIpOm59KTt0aGlzLndyYXBwZWQ9dFsxXT1yfSksYS5vbihkKyItc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMV09dGhpcy53cmFwcGVkfHx0WzFdfSl9LHt9XSw3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dmFyIHI9dFtlXTsiZnVuY3Rpb24iPT10eXBlb2YgciYmKHRbZV09ZnVuY3Rpb24oKXt2YXIgdD1pKGFyZ3VtZW50cyksZT17fTtvLmVtaXQobisiYmVmb3JlLXN0YXJ0IixbdF0sZSk7dmFyIGE7ZVttXSYmZVttXS5kdCYmKGE9ZVttXS5kdCk7dmFyIGM9ci5hcHBseSh0aGlzLHQpO3JldHVybiBvLmVtaXQobisic3RhcnQiLFt0LGFdLGMpLGMudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gby5lbWl0KG4rImVuZCIsW251bGwsdF0sYyksdH0sZnVuY3Rpb24odCl7dGhyb3cgby5lbWl0KG4rImVuZCIsW3RdLGMpLHR9KX0pfXZhciBvPXQoImVlIikuZ2V0KCJmZXRjaCIpLGk9dCgyOSksYT10KDI4KTtlLmV4cG9ydHM9bzt2YXIgYz13aW5kb3cscz0iZmV0Y2gtIix1PXMrImJvZHktIixmPVsiYXJyYXlCdWZmZXIiLCJibG9iIiwianNvbiIsInRleHQiLCJmb3JtRGF0YSJdLGQ9Yy5SZXF1ZXN0LHA9Yy5SZXNwb25zZSxsPWMuZmV0Y2gsaD0icHJvdG90eXBlIixtPSJuckBjb250ZXh0IjtkJiZwJiZsJiYoYShmLGZ1bmN0aW9uKHQsZSl7cihkW2hdLGUsdSkscihwW2hdLGUsdSl9KSxyKGMsImZldGNoIixzKSxvLm9uKHMrImVuZCIsZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2lmKGUpe3ZhciByPWUuaGVhZGVycy5nZXQoImNvbnRlbnQtbGVuZ3RoIik7bnVsbCE9PXImJihuLnJ4U2l6ZT1yKSxvLmVtaXQocysiZG9uZSIsW251bGwsZV0sbil9ZWxzZSBvLmVtaXQocysiZG9uZSIsW3RdLG4pfSkpfSx7fV0sODpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXQoImVlIikuZ2V0KCJoaXN0b3J5Iiksbz10KCJ3cmFwLWZ1bmN0aW9uIikocik7ZS5leHBvcnRzPXI7dmFyIGk9d2luZG93Lmhpc3RvcnkmJndpbmRvdy5oaXN0b3J5LmNvbnN0cnVjdG9yJiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsYT13aW5kb3cuaGlzdG9yeTtpJiZpLnB1c2hTdGF0ZSYmaS5yZXBsYWNlU3RhdGUmJihhPWkpLG8uaW5QbGFjZShhLFsicHVzaFN0YXRlIiwicmVwbGFjZVN0YXRlIl0sIi0iKX0se31dLDk6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2Z1bmN0aW9uIGUoKXtzLmVtaXQoImpzb25wLWVuZCIsW10scCksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixlLCExKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixuLCExKX1mdW5jdGlvbiBuKCl7cy5lbWl0KCJqc29ucC1lcnJvciIsW10scCkscy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9dmFyIHI9dCYmInN0cmluZyI9PXR5cGVvZiB0Lm5vZGVOYW1lJiYic2NyaXB0Ij09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihyKXt2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgdC5hZGRFdmVudExpc3RlbmVyO2lmKG8pe3ZhciBhPWkodC5zcmMpO2lmKGEpe3ZhciBmPWMoYSksZD0iZnVuY3Rpb24iPT10eXBlb2YgZi5wYXJlbnRbZi5rZXldO2lmKGQpe3ZhciBwPXt9O3UuaW5QbGFjZShmLnBhcmVudCxbZi5rZXldLCJjYi0iLHApLHQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSkscy5lbWl0KCJuZXctanNvbnAiLFt0LnNyY10scCl9fX19fWZ1bmN0aW9uIG8oKXtyZXR1cm4iYWRkRXZlbnRMaXN0ZW5lciJpbiB3aW5kb3d9ZnVuY3Rpb24gaSh0KXt2YXIgZT10Lm1hdGNoKGYpO3JldHVybiBlP2VbMV06bnVsbH1mdW5jdGlvbiBhKHQsZSl7dmFyIG49dC5tYXRjaChwKSxyPW5bMV0sbz1uWzNdO3JldHVybiBvP2EobyxlW3JdKTplW3JdfWZ1bmN0aW9uIGModCl7dmFyIGU9dC5tYXRjaChkKTtyZXR1cm4gZSYmZS5sZW5ndGg+PTM/e2tleTplWzJdLHBhcmVudDphKGVbMV0sd2luZG93KX06e2tleTp0LHBhcmVudDp3aW5kb3d9fXZhciBzPXQoImVlIikuZ2V0KCJqc29ucCIpLHU9dCgid3JhcC1mdW5jdGlvbiIpKHMpO2lmKGUuZXhwb3J0cz1zLG8oKSl7dmFyIGY9L1s/Jl0oPzpjYWxsYmFja3xjYik9KFteJiNdKykvLGQ9LyguKilcLihbXi5dKykvLHA9L14oXHcrKShcLnwkKSguKikkLyxsPVsiYXBwZW5kQ2hpbGQiLCJpbnNlcnRCZWZvcmUiLCJyZXBsYWNlQ2hpbGQiXTtOb2RlJiZOb2RlLnByb3RvdHlwZSYmTm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ/dS5pblBsYWNlKE5vZGUucHJvdG90eXBlLGwsImRvbS0iKToodS5pblBsYWNlKEhUTUxFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIiksdS5pblBsYWNlKEhUTUxIZWFkRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MQm9keUVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSkscy5vbigiZG9tLXN0YXJ0IixmdW5jdGlvbih0KXtyKHRbMF0pfSl9fSx7fV0sMTA6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgibXV0YXRpb24iKSxvPXQoIndyYXAtZnVuY3Rpb24iKShyKSxpPU5SRVVNLm8uTU87ZS5leHBvcnRzPXIsaSYmKHdpbmRvdy5NdXRhdGlvbk9ic2VydmVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgaT9uZXcgaShvKHQsImZuLSIpKTppLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sTXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGU9aS5wcm90b3R5cGUpfSx7fV0sMTE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPWkuY29udGV4dCgpLG49Yyh0LCJleGVjdXRvci0iLGUsbnVsbCwhMSkscj1uZXcgdShuKTtyZXR1cm4gaS5jb250ZXh0KHIpLmdldEN0eD1mdW5jdGlvbigpe3JldHVybiBlfSxyfXZhciBvPXQoIndyYXAtZnVuY3Rpb24iKSxpPXQoImVlIikuZ2V0KCJwcm9taXNlIiksYT10KCJlZSIpLmdldE9yU2V0Q29udGV4dCxjPW8oaSkscz10KDI4KSx1PU5SRVVNLm8uUFI7ZS5leHBvcnRzPWksdSYmKHdpbmRvdy5Qcm9taXNlPXIsWyJhbGwiLCJyYWNlIl0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24obil7ZnVuY3Rpb24gcih0KXtyZXR1cm4gZnVuY3Rpb24oKXtpLmVtaXQoInByb3BhZ2F0ZSIsW251bGwsIW9dLGEsITEsITEpLG89b3x8IXR9fXZhciBvPSExO3MobixmdW5jdGlvbihlLG4pe1Byb21pc2UucmVzb2x2ZShuKS50aGVuKHIoImFsbCI9PT10KSxyKCExKSl9KTt2YXIgYT1lLmFwcGx5KHUsYXJndW1lbnRzKSxjPXUucmVzb2x2ZShhKTtyZXR1cm4gY319KSxbInJlc29sdmUiLCJyZWplY3QiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXVbdF07dVt0XT1mdW5jdGlvbih0KXt2YXIgbj1lLmFwcGx5KHUsYXJndW1lbnRzKTtyZXR1cm4gdCE9PW4mJmkuZW1pdCgicHJvcGFnYXRlIixbdCwhMF0sbiwhMSwhMSksbn19KSx1LnByb3RvdHlwZVsiY2F0Y2giXT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50aGVuKG51bGwsdCl9LHUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTpyfX0pLHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModSksZnVuY3Rpb24odCxlKXt0cnl7cltlXT11W2VdfWNhdGNoKG4pe319KSxvLndyYXBJblBsYWNlKHUucHJvdG90eXBlLCJ0aGVuIixmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49by5hcmdzVG9BcnJheS5hcHBseSh0aGlzLGFyZ3VtZW50cykscj1hKGUpO3IucHJvbWlzZT1lLG5bMF09YyhuWzBdLCJjYi0iLHIsbnVsbCwhMSksblsxXT1jKG5bMV0sImNiLSIscixudWxsLCExKTt2YXIgcz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIubmV4dFByb21pc2U9cyxpLmVtaXQoInByb3BhZ2F0ZSIsW2UsITBdLHMsITEsITEpLHN9fSksaS5vbigiZXhlY3V0b3Itc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMF09Yyh0WzBdLCJyZXNvbHZlLSIsdGhpcyxudWxsLCExKSx0WzFdPWModFsxXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSl9KSxpLm9uKCJleGVjdXRvci1lcnIiLGZ1bmN0aW9uKHQsZSxuKXt0WzFdKG4pfSksaS5vbigiY2ItZW5kIixmdW5jdGlvbih0LGUsbil7aS5lbWl0KCJwcm9wYWdhdGUiLFtuLCEwXSx0aGlzLm5leHRQcm9taXNlLCExLCExKX0pLGkub24oInByb3BhZ2F0ZSIsZnVuY3Rpb24odCxlLG4pe3RoaXMuZ2V0Q3R4JiYhZXx8KHRoaXMuZ2V0Q3R4PWZ1bmN0aW9uKCl7aWYodCBpbnN0YW5jZW9mIFByb21pc2UpdmFyIGU9aS5jb250ZXh0KHQpO3JldHVybiBlJiZlLmdldEN0eD9lLmdldEN0eCgpOnRoaXN9KX0pLHIudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIit1fSl9LHt9XSwxMjpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXQoImVlIikuZ2V0KCJyYWYiKSxvPXQoIndyYXAtZnVuY3Rpb24iKShyKSxpPSJlcXVlc3RBbmltYXRpb25GcmFtZSI7ZS5leHBvcnRzPXIsby5pblBsYWNlKHdpbmRvdyxbInIiK2ksIm1velIiK2ksIndlYmtpdFIiK2ksIm1zUiIraV0sInJhZi0iKSxyLm9uKCJyYWYtc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMF09byh0WzBdLCJmbi0iKX0pfSx7fV0sMTM6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuKXt0WzBdPWEodFswXSwiZm4tIixudWxsLG4pfWZ1bmN0aW9uIG8odCxlLG4pe3RoaXMubWV0aG9kPW4sdGhpcy50aW1lckR1cmF0aW9uPWlzTmFOKHRbMV0pPzA6K3RbMV0sdFswXT1hKHRbMF0sImZuLSIsdGhpcyxuKX12YXIgaT10KCJlZSIpLmdldCgidGltZXIiKSxhPXQoIndyYXAtZnVuY3Rpb24iKShpKSxjPSJzZXRUaW1lb3V0IixzPSJzZXRJbnRlcnZhbCIsdT0iY2xlYXJUaW1lb3V0IixmPSItc3RhcnQiLGQ9Ii0iO2UuZXhwb3J0cz1pLGEuaW5QbGFjZSh3aW5kb3csW2MsInNldEltbWVkaWF0ZSJdLGMrZCksYS5pblBsYWNlKHdpbmRvdyxbc10scytkKSxhLmluUGxhY2Uod2luZG93LFt1LCJjbGVhckltbWVkaWF0ZSJdLHUrZCksaS5vbihzK2YsciksaS5vbihjK2Ysbyl9LHt9XSwxNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXtkLmluUGxhY2UoZSxbIm9ucmVhZHlzdGF0ZWNoYW5nZSJdLCJmbi0iLGMpfWZ1bmN0aW9uIG8oKXt2YXIgdD10aGlzLGU9Zi5jb250ZXh0KHQpO3QucmVhZHlTdGF0ZT4zJiYhZS5yZXNvbHZlZCYmKGUucmVzb2x2ZWQ9ITAsZi5lbWl0KCJ4aHItcmVzb2x2ZWQiLFtdLHQpKSxkLmluUGxhY2UodCxnLCJmbi0iLGMpfWZ1bmN0aW9uIGkodCl7eS5wdXNoKHQpLGgmJihiP2IudGhlbihhKTp2P3YoYSk6KEU9LUUsUi5kYXRhPUUpKX1mdW5jdGlvbiBhKCl7Zm9yKHZhciB0PTA7dDx5Lmxlbmd0aDt0KyspcihbXSx5W3RdKTt5Lmxlbmd0aCYmKHk9W10pfWZ1bmN0aW9uIGModCxlKXtyZXR1cm4gZX1mdW5jdGlvbiBzKHQsZSl7Zm9yKHZhciBuIGluIHQpZVtuXT10W25dO3JldHVybiBlfXQoNik7dmFyIHU9dCgiZWUiKSxmPXUuZ2V0KCJ4aHIiKSxkPXQoIndyYXAtZnVuY3Rpb24iKShmKSxwPU5SRVVNLm8sbD1wLlhIUixoPXAuTU8sbT1wLlBSLHY9cC5TSSx3PSJyZWFkeXN0YXRlY2hhbmdlIixnPVsib25sb2FkIiwib25lcnJvciIsIm9uYWJvcnQiLCJvbmxvYWRzdGFydCIsIm9ubG9hZGVuZCIsIm9ucHJvZ3Jlc3MiLCJvbnRpbWVvdXQiXSx5PVtdO2UuZXhwb3J0cz1mO3ZhciB4PXdpbmRvdy5YTUxIdHRwUmVxdWVzdD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgbCh0KTt0cnl7Zi5lbWl0KCJuZXcteGhyIixbZV0sZSksZS5hZGRFdmVudExpc3RlbmVyKHcsbywhMSl9Y2F0Y2gobil7dHJ5e2YuZW1pdCgiaW50ZXJuYWwtZXJyb3IiLFtuXSl9Y2F0Y2gocil7fX1yZXR1cm4gZX07aWYocyhsLHgpLHgucHJvdG90eXBlPWwucHJvdG90eXBlLGQuaW5QbGFjZSh4LnByb3RvdHlwZSxbIm9wZW4iLCJzZW5kIl0sIi14aHItIixjKSxmLm9uKCJzZW5kLXhoci1zdGFydCIsZnVuY3Rpb24odCxlKXtyKHQsZSksaShlKX0pLGYub24oIm9wZW4teGhyLXN0YXJ0IixyKSxoKXt2YXIgYj1tJiZtLnJlc29sdmUoKTtpZighdiYmIW0pe3ZhciBFPTEsUj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShFKTtuZXcgaChhKS5vYnNlcnZlKFIse2NoYXJhY3RlckRhdGE6ITB9KX19ZWxzZSB1Lm9uKCJmbi1lbmQiLGZ1bmN0aW9uKHQpe3RbMF0mJnRbMF0udHlwZT09PXd8fGEoKX0pfSx7fV0sMTU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2lmKCFjKHQpKXJldHVybiBudWxsO3ZhciBlPXdpbmRvdy5OUkVVTTtpZighZS5sb2FkZXJfY29uZmlnKXJldHVybiBudWxsO3ZhciBuPShlLmxvYWRlcl9jb25maWcuYWNjb3VudElEfHwiIikudG9TdHJpbmcoKXx8bnVsbCxyPShlLmxvYWRlcl9jb25maWcuYWdlbnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwsdT0oZS5sb2FkZXJfY29uZmlnLnRydXN0S2V5fHwiIikudG9TdHJpbmcoKXx8bnVsbDtpZighbnx8IXIpcmV0dXJuIG51bGw7dmFyIGg9bC5nZW5lcmF0ZVNwYW5JZCgpLG09bC5nZW5lcmF0ZVRyYWNlSWQoKSx2PURhdGUubm93KCksdz17c3BhbklkOmgsdHJhY2VJZDptLHRpbWVzdGFtcDp2fTtyZXR1cm4odC5zYW1lT3JpZ2lufHxzKHQpJiZwKCkpJiYody50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXI9byhoLG0pLHcudHJhY2VDb250ZXh0U3RhdGVIZWFkZXI9aShoLHYsbixyLHUpKSwodC5zYW1lT3JpZ2luJiYhZigpfHwhdC5zYW1lT3JpZ2luJiZzKHQpJiZkKCkpJiYody5uZXdyZWxpY0hlYWRlcj1hKGgsbSx2LG4scix1KSksd31mdW5jdGlvbiBvKHQsZSl7cmV0dXJuIjAwLSIrZSsiLSIrdCsiLTAxIn1mdW5jdGlvbiBpKHQsZSxuLHIsbyl7dmFyIGk9MCxhPSIiLGM9MSxzPSIiLHU9IiI7cmV0dXJuIG8rIkBucj0iK2krIi0iK2MrIi0iK24rIi0iK3IrIi0iK3QrIi0iK2ErIi0iK3MrIi0iK3UrIi0iK2V9ZnVuY3Rpb24gYSh0LGUsbixyLG8saSl7dmFyIGE9ImJ0b2EiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LmJ0b2E7aWYoIWEpcmV0dXJuIG51bGw7dmFyIGM9e3Y6WzAsMV0sZDp7dHk6IkJyb3dzZXIiLGFjOnIsYXA6byxpZDp0LHRyOmUsdGk6bn19O3JldHVybiBpJiZyIT09aSYmKGMuZC50az1pKSxidG9hKEpTT04uc3RyaW5naWZ5KGMpKX1mdW5jdGlvbiBjKHQpe3JldHVybiB1KCkmJnModCl9ZnVuY3Rpb24gcyh0KXt2YXIgZT0hMSxuPXt9O2lmKCJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYobj1OUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcpLHQuc2FtZU9yaWdpbillPSEwO2Vsc2UgaWYobi5hbGxvd2VkX29yaWdpbnMgaW5zdGFuY2VvZiBBcnJheSlmb3IodmFyIHI9MDtyPG4uYWxsb3dlZF9vcmlnaW5zLmxlbmd0aDtyKyspe3ZhciBvPWgobi5hbGxvd2VkX29yaWdpbnNbcl0pO2lmKHQuaG9zdG5hbWU9PT1vLmhvc3RuYW1lJiZ0LnByb3RvY29sPT09by5wcm90b2NvbCYmdC5wb3J0PT09by5wb3J0KXtlPSEwO2JyZWFrfX1yZXR1cm4gZX1mdW5jdGlvbiB1KCl7cmV0dXJuImluaXQiaW4gTlJFVU0mJiJkaXN0cmlidXRlZF90cmFjaW5nImluIE5SRVVNLmluaXQmJiEhTlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nLmVuYWJsZWR9ZnVuY3Rpb24gZigpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5leGNsdWRlX25ld3JlbGljX2hlYWRlcn1mdW5jdGlvbiBkKCl7cmV0dXJuImluaXQiaW4gTlJFVU0mJiJkaXN0cmlidXRlZF90cmFjaW5nImluIE5SRVVNLmluaXQmJk5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV9uZXdyZWxpY19oZWFkZXIhPT0hMX1mdW5jdGlvbiBwKCl7cmV0dXJuImluaXQiaW4gTlJFVU0mJiJkaXN0cmlidXRlZF90cmFjaW5nImluIE5SRVVNLmluaXQmJiEhTlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nLmNvcnNfdXNlX3RyYWNlY29udGV4dF9oZWFkZXJzfXZhciBsPXQoMjUpLGg9dCgxNyk7ZS5leHBvcnRzPXtnZW5lcmF0ZVRyYWNlUGF5bG9hZDpyLHNob3VsZEdlbmVyYXRlVHJhY2U6Y319LHt9XSwxNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dGhpcy5wYXJhbXMsbj10aGlzLm1ldHJpY3M7aWYoIXRoaXMuZW5kZWQpe3RoaXMuZW5kZWQ9ITA7Zm9yKHZhciByPTA7cjxwO3IrKyl0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZFtyXSx0aGlzLmxpc3RlbmVyLCExKTtlLmFib3J0ZWR8fChuLmR1cmF0aW9uPWEubm93KCktdGhpcy5zdGFydFRpbWUsdGhpcy5sb2FkQ2FwdHVyZUNhbGxlZHx8NCE9PXQucmVhZHlTdGF0ZT9udWxsPT1lLnN0YXR1cyYmKGUuc3RhdHVzPTApOmkodGhpcyx0KSxuLmNiVGltZT10aGlzLmNiVGltZSxmLmVtaXQoInhoci1kb25lIixbdF0sdCksYygieGhyIixbZSxuLHRoaXMuc3RhcnRUaW1lXSkpfX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49cyhlKSxyPXQucGFyYW1zO3IuaG9zdD1uLmhvc3RuYW1lKyI6IituLnBvcnQsci5wYXRobmFtZT1uLnBhdGhuYW1lLHQucGFyc2VkT3JpZ2luPXMoZSksdC5zYW1lT3JpZ2luPXQucGFyc2VkT3JpZ2luLnNhbWVPcmlnaW59ZnVuY3Rpb24gaSh0LGUpe3QucGFyYW1zLnN0YXR1cz1lLnN0YXR1czt2YXIgbj12KGUsdC5sYXN0U2l6ZSk7aWYobiYmKHQubWV0cmljcy5yeFNpemU9biksdC5zYW1lT3JpZ2luKXt2YXIgcj1lLmdldFJlc3BvbnNlSGVhZGVyKCJYLU5ld1JlbGljLUFwcC1EYXRhIik7ciYmKHQucGFyYW1zLmNhdD1yLnNwbGl0KCIsICIpLnBvcCgpKX10LmxvYWRDYXB0dXJlQ2FsbGVkPSEwfXZhciBhPXQoImxvYWRlciIpO2lmKGEueGhyV3JhcHBhYmxlKXt2YXIgYz10KCJoYW5kbGUiKSxzPXQoMTcpLHU9dCgxNSkuZ2VuZXJhdGVUcmFjZVBheWxvYWQsZj10KCJlZSIpLGQ9WyJsb2FkIiwiZXJyb3IiLCJhYm9ydCIsInRpbWVvdXQiXSxwPWQubGVuZ3RoLGw9dCgiaWQiKSxoPXQoMjEpLG09dCgyMCksdj10KDE4KSx3PXdpbmRvdy5YTUxIdHRwUmVxdWVzdDthLmZlYXR1cmVzLnhocj0hMCx0KDE0KSx0KDcpLGYub24oIm5ldy14aHIiLGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7ZS50b3RhbENicz0wLGUuY2FsbGVkPTAsZS5jYlRpbWU9MCxlLmVuZD1yLGUuZW5kZWQ9ITEsZS54aHJHdWlkcz17fSxlLmxhc3RTaXplPW51bGwsZS5sb2FkQ2FwdHVyZUNhbGxlZD0hMSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKG4pe2koZSx0KX0sITEpLGgmJihoPjM0fHxoPDEwKXx8d2luZG93Lm9wZXJhfHx0LmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixmdW5jdGlvbih0KXtlLmxhc3RTaXplPXQubG9hZGVkfSwhMSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsZnVuY3Rpb24odCl7dGhpcy5wYXJhbXM9e21ldGhvZDp0WzBdfSxvKHRoaXMsdFsxXSksdGhpcy5tZXRyaWNzPXt9fSksZi5vbigib3Blbi14aHItZW5kIixmdW5jdGlvbih0LGUpeyJsb2FkZXJfY29uZmlnImluIE5SRVVNJiYieHBpZCJpbiBOUkVVTS5sb2FkZXJfY29uZmlnJiZ0aGlzLnNhbWVPcmlnaW4mJmUuc2V0UmVxdWVzdEhlYWRlcigiWC1OZXdSZWxpYy1JRCIsTlJFVU0ubG9hZGVyX2NvbmZpZy54cGlkKTt2YXIgbj11KHRoaXMucGFyc2VkT3JpZ2luKTtpZihuKXt2YXIgcj0hMTtuLm5ld3JlbGljSGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJuZXdyZWxpYyIsbi5uZXdyZWxpY0hlYWRlcikscj0hMCksbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXImJihlLnNldFJlcXVlc3RIZWFkZXIoInRyYWNlcGFyZW50IixuLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciksbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlciYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXN0YXRlIixuLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxyPSEwKSxyJiYodGhpcy5kdD1uKX19KSxmLm9uKCJzZW5kLXhoci1zdGFydCIsZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLm1ldHJpY3Mscj10WzBdLG89dGhpcztpZihuJiZyKXt2YXIgaT1tKHIpO2kmJihuLnR4U2l6ZT1pKX10aGlzLnN0YXJ0VGltZT1hLm5vdygpLHRoaXMubGlzdGVuZXI9ZnVuY3Rpb24odCl7dHJ5eyJhYm9ydCIhPT10LnR5cGV8fG8ubG9hZENhcHR1cmVDYWxsZWR8fChvLnBhcmFtcy5hYm9ydGVkPSEwKSwoImxvYWQiIT09dC50eXBlfHxvLmNhbGxlZD09PW8udG90YWxDYnMmJihvLm9ubG9hZENhbGxlZHx8ImZ1bmN0aW9uIiE9dHlwZW9mIGUub25sb2FkKSkmJm8uZW5kKGUpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319fTtmb3IodmFyIGM9MDtjPHA7YysrKWUuYWRkRXZlbnRMaXN0ZW5lcihkW2NdLHRoaXMubGlzdGVuZXIsITEpfSksZi5vbigieGhyLWNiLXRpbWUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmNiVGltZSs9dCxlP3RoaXMub25sb2FkQ2FsbGVkPSEwOnRoaXMuY2FsbGVkKz0xLHRoaXMuY2FsbGVkIT09dGhpcy50b3RhbENic3x8IXRoaXMub25sb2FkQ2FsbGVkJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5vbmxvYWR8fHRoaXMuZW5kKG4pfSksZi5vbigieGhyLWxvYWQtYWRkZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmIXRoaXMueGhyR3VpZHNbbl0mJih0aGlzLnhockd1aWRzW25dPSEwLHRoaXMudG90YWxDYnMrPTEpfSksZi5vbigieGhyLWxvYWQtcmVtb3ZlZCIsZnVuY3Rpb24odCxlKXt2YXIgbj0iIitsKHQpKyEhZTt0aGlzLnhockd1aWRzJiZ0aGlzLnhockd1aWRzW25dJiYoZGVsZXRlIHRoaXMueGhyR3VpZHNbbl0sdGhpcy50b3RhbENicy09MSl9KSxmLm9uKCJhZGRFdmVudExpc3RlbmVyLWVuZCIsZnVuY3Rpb24odCxlKXtlIGluc3RhbmNlb2YgdyYmImxvYWQiPT09dFswXSYmZi5lbWl0KCJ4aHItbG9hZC1hZGRlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJyZW1vdmVFdmVudExpc3RlbmVyLWVuZCIsZnVuY3Rpb24odCxlKXtlIGluc3RhbmNlb2YgdyYmImxvYWQiPT09dFswXSYmZi5lbWl0KCJ4aHItbG9hZC1yZW1vdmVkIixbdFsxXSx0WzJdXSxlKX0pLGYub24oImZuLXN0YXJ0IixmdW5jdGlvbih0LGUsbil7ZSBpbnN0YW5jZW9mIHcmJigib25sb2FkIj09PW4mJih0aGlzLm9ubG9hZD0hMCksKCJsb2FkIj09PSh0WzBdJiZ0WzBdLnR5cGUpfHx0aGlzLm9ubG9hZCkmJih0aGlzLnhockNiU3RhcnQ9YS5ub3coKSkpfSksZi5vbigiZm4tZW5kIixmdW5jdGlvbih0LGUpe3RoaXMueGhyQ2JTdGFydCYmZi5lbWl0KCJ4aHItY2ItdGltZSIsW2Eubm93KCktdGhpcy54aHJDYlN0YXJ0LHRoaXMub25sb2FkLGVdLGUpfSksZi5vbigiZmV0Y2gtYmVmb3JlLXN0YXJ0IixmdW5jdGlvbih0KXtmdW5jdGlvbiBlKHQsZSl7dmFyIG49ITE7cmV0dXJuIGUubmV3cmVsaWNIZWFkZXImJih0LnNldCgibmV3cmVsaWMiLGUubmV3cmVsaWNIZWFkZXIpLG49ITApLGUudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYodC5zZXQoInRyYWNlcGFyZW50IixlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciksZS50cmFjZUNvbnRleHRTdGF0ZUhlYWRlciYmdC5zZXQoInRyYWNlc3RhdGUiLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXIpLG49ITApLG59dmFyIG4scj10WzFdfHx7fTsic3RyaW5nIj09dHlwZW9mIHRbMF0/bj10WzBdOnRbMF0mJnRbMF0udXJsP249dFswXS51cmw6d2luZG93LlVSTCYmdFswXSYmdFswXWluc3RhbmNlb2YgVVJMJiYobj10WzBdLmhyZWYpLG4mJih0aGlzLnBhcnNlZE9yaWdpbj1zKG4pLHRoaXMuc2FtZU9yaWdpbj10aGlzLnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2luKTt2YXIgbz11KHRoaXMucGFyc2VkT3JpZ2luKTtpZihvJiYoby5uZXdyZWxpY0hlYWRlcnx8by50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpKWlmKCJzdHJpbmciPT10eXBlb2YgdFswXXx8d2luZG93LlVSTCYmdFswXSYmdFswXWluc3RhbmNlb2YgVVJMKXt2YXIgaT17fTtmb3IodmFyIGEgaW4gcilpW2FdPXJbYV07aS5oZWFkZXJzPW5ldyBIZWFkZXJzKHIuaGVhZGVyc3x8e30pLGUoaS5oZWFkZXJzLG8pJiYodGhpcy5kdD1vKSx0Lmxlbmd0aD4xP3RbMV09aTp0LnB1c2goaSl9ZWxzZSB0WzBdJiZ0WzBdLmhlYWRlcnMmJmUodFswXS5oZWFkZXJzLG8pJiYodGhpcy5kdD1vKX0pfX0se31dLDE3OltmdW5jdGlvbih0LGUsbil7dmFyIHI9e307ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKHQgaW4gcilyZXR1cm4gclt0XTt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksbj13aW5kb3cubG9jYXRpb24sbz17fTtlLmhyZWY9dCxvLnBvcnQ9ZS5wb3J0O3ZhciBpPWUuaHJlZi5zcGxpdCgiOi8vIik7IW8ucG9ydCYmaVsxXSYmKG8ucG9ydD1pWzFdLnNwbGl0KCIvIilbMF0uc3BsaXQoIkAiKS5wb3AoKS5zcGxpdCgiOiIpWzFdKSxvLnBvcnQmJiIwIiE9PW8ucG9ydHx8KG8ucG9ydD0iaHR0cHMiPT09aVswXT8iNDQzIjoiODAiKSxvLmhvc3RuYW1lPWUuaG9zdG5hbWV8fG4uaG9zdG5hbWUsby5wYXRobmFtZT1lLnBhdGhuYW1lLG8ucHJvdG9jb2w9aVswXSwiLyIhPT1vLnBhdGhuYW1lLmNoYXJBdCgwKSYmKG8ucGF0aG5hbWU9Ii8iK28ucGF0aG5hbWUpO3ZhciBhPSFlLnByb3RvY29sfHwiOiI9PT1lLnByb3RvY29sfHxlLnByb3RvY29sPT09bi5wcm90b2NvbCxjPWUuaG9zdG5hbWU9PT1kb2N1bWVudC5kb21haW4mJmUucG9ydD09PW4ucG9ydDtyZXR1cm4gby5zYW1lT3JpZ2luPWEmJighZS5ob3N0bmFtZXx8YyksIi8iPT09by5wYXRobmFtZSYmKHJbdF09byksb319LHt9XSwxODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj10LnJlc3BvbnNlVHlwZTtyZXR1cm4ianNvbiI9PT1uJiZudWxsIT09ZT9lOiJhcnJheWJ1ZmZlciI9PT1ufHwiYmxvYiI9PT1ufHwianNvbiI9PT1uP28odC5yZXNwb25zZSk6InRleHQiPT09bnx8IiI9PT1ufHx2b2lkIDA9PT1uP28odC5yZXNwb25zZVRleHQpOnZvaWQgMH12YXIgbz10KDIwKTtlLmV4cG9ydHM9cn0se31dLDE5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBvKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gaSh0LFt1Lm5vdygpXS5jb25jYXQoYyhhcmd1bWVudHMpKSxlP251bGw6dGhpcyxuKSxlP3ZvaWQgMDp0aGlzfX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjgpLGM9dCgyOSkscz10KCJlZSIpLmdldCgidHJhY2VyIiksdT10KCJsb2FkZXIiKSxmPU5SRVVNOyJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93Lm5ld3JlbGljJiYobmV3cmVsaWM9Zik7dmFyIGQ9WyJzZXRQYWdlVmlld05hbWUiLCJzZXRDdXN0b21BdHRyaWJ1dGUiLCJzZXRFcnJvckhhbmRsZXIiLCJmaW5pc2hlZCIsImFkZFRvVHJhY2UiLCJpbmxpbmVIaXQiLCJhZGRSZWxlYXNlIl0scD0iYXBpLSIsbD1wKyJpeG4tIjthKGQsZnVuY3Rpb24odCxlKXtmW2VdPW8ocCtlLCEwLCJhcGkiKX0pLGYuYWRkUGFnZUFjdGlvbj1vKHArImFkZFBhZ2VBY3Rpb24iLCEwKSxmLnNldEN1cnJlbnRSb3V0ZU5hbWU9byhwKyJyb3V0ZU5hbWUiLCEwKSxlLmV4cG9ydHM9bmV3cmVsaWMsZi5pbnRlcmFjdGlvbj1mdW5jdGlvbigpe3JldHVybihuZXcgcikuZ2V0KCl9O3ZhciBoPXIucHJvdG90eXBlPXtjcmVhdGVUcmFjZXI6ZnVuY3Rpb24odCxlKXt2YXIgbj17fSxyPXRoaXMsbz0iZnVuY3Rpb24iPT10eXBlb2YgZTtyZXR1cm4gaShsKyJ0cmFjZXIiLFt1Lm5vdygpLHQsbl0sciksZnVuY3Rpb24oKXtpZihzLmVtaXQoKG8/IiI6Im5vLSIpKyJmbi1zdGFydCIsW3Uubm93KCkscixvXSxuKSxvKXRyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9Y2F0Y2godCl7dGhyb3cgcy5lbWl0KCJmbi1lcnIiLFthcmd1bWVudHMsdGhpcyx0XSxuKSx0fWZpbmFsbHl7cy5lbWl0KCJmbi1lbmQiLFt1Lm5vdygpXSxuKX19fX07YSgiYWN0aW9uVGV4dCxzZXROYW1lLHNldEF0dHJpYnV0ZSxzYXZlLGlnbm9yZSxvbkVuZCxnZXRDb250ZXh0LGVuZCxnZXQiLnNwbGl0KCIsIiksZnVuY3Rpb24odCxlKXtoW2VdPW8obCtlKX0pLG5ld3JlbGljLm5vdGljZUVycm9yPWZ1bmN0aW9uKHQsZSl7InN0cmluZyI9PXR5cGVvZiB0JiYodD1uZXcgRXJyb3IodCkpLGkoImVyciIsW3QsdS5ub3coKSwhMSxlXSl9fSx7fV0sMjA6W2Z1bmN0aW9uKHQsZSxuKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0JiZ0Lmxlbmd0aClyZXR1cm4gdC5sZW5ndGg7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZ0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJnQuYnl0ZUxlbmd0aClyZXR1cm4gdC5ieXRlTGVuZ3RoO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQmxvYiYmdCBpbnN0YW5jZW9mIEJsb2ImJnQuc2l6ZSlyZXR1cm4gdC5zaXplO2lmKCEoInVuZGVmaW5lZCIhPXR5cGVvZiBGb3JtRGF0YSYmdCBpbnN0YW5jZW9mIEZvcm1EYXRhKSl0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpLmxlbmd0aH1jYXRjaChlKXtyZXR1cm59fX19LHt9XSwyMTpbZnVuY3Rpb24odCxlLG4pe3ZhciByPTAsbz1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9GaXJlZm94W1wvXHNdKFxkK1wuXGQrKS8pO28mJihyPStvWzFdKSxlLmV4cG9ydHM9cn0se31dLDIyOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe3JldHVybiBjLmV4aXN0cyYmcGVyZm9ybWFuY2Uubm93P01hdGgucm91bmQocGVyZm9ybWFuY2Uubm93KCkpOihpPU1hdGgubWF4KChuZXcgRGF0ZSkuZ2V0VGltZSgpLGkpKS1hfWZ1bmN0aW9uIG8oKXtyZXR1cm4gaX12YXIgaT0obmV3IERhdGUpLmdldFRpbWUoKSxhPWksYz10KDMwKTtlLmV4cG9ydHM9cixlLmV4cG9ydHMub2Zmc2V0PWEsZS5leHBvcnRzLmdldExhc3RUaW1lc3RhbXA9b30se31dLDIzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtyZXR1cm4hKCF0fHwhdC5wcm90b2NvbHx8ImZpbGU6Ij09PXQucHJvdG9jb2wpfWUuZXhwb3J0cz1yfSx7fV0sMjQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5mb3JFYWNoKGZ1bmN0aW9uKHQpeyJmaXJzdC1wYWludCI9PT10Lm5hbWU/ZCgidGltaW5nIixbImZwIixNYXRoLmZsb29yKHQuc3RhcnRUaW1lKV0pOiJmaXJzdC1jb250ZW50ZnVsLXBhaW50Ij09PXQubmFtZSYmZCgidGltaW5nIixbImZjcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKX0pfWZ1bmN0aW9uIG8odCxlKXt2YXIgbj10LmdldEVudHJpZXMoKTtuLmxlbmd0aD4wJiZkKCJsY3AiLFtuW24ubGVuZ3RoLTFdXSl9ZnVuY3Rpb24gaSh0KXt0LmdldEVudHJpZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuaGFkUmVjZW50SW5wdXR8fGQoImNscyIsW3RdKX0pfWZ1bmN0aW9uIGEodCl7aWYodCBpbnN0YW5jZW9mIGgmJiF2KXt2YXIgZT1NYXRoLnJvdW5kKHQudGltZVN0YW1wKSxuPXt0eXBlOnQudHlwZX07ZTw9cC5ub3coKT9uLmZpZD1wLm5vdygpLWU6ZT5wLm9mZnNldCYmZTw9RGF0ZS5ub3coKT8oZS09cC5vZmZzZXQsbi5maWQ9cC5ub3coKS1lKTplPXAubm93KCksdj0hMCxkKCJ0aW1pbmciLFsiZmkiLGUsbl0pfX1mdW5jdGlvbiBjKHQpe2QoInBhZ2VIaWRlIixbcC5ub3coKSx0XSl9aWYoISgiaW5pdCJpbiBOUkVVTSYmInBhZ2Vfdmlld190aW1pbmciaW4gTlJFVU0uaW5pdCYmImVuYWJsZWQiaW4gTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nJiZOUkVVTS5pbml0LnBhZ2Vfdmlld190aW1pbmcuZW5hYmxlZD09PSExKSl7dmFyIHMsdSxmLGQ9dCgiaGFuZGxlIikscD10KCJsb2FkZXIiKSxsPXQoMjcpLGg9TlJFVU0uby5FVjtpZigiUGVyZm9ybWFuY2VPYnNlcnZlciJpbiB3aW5kb3cmJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuUGVyZm9ybWFuY2VPYnNlcnZlcil7cz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihyKTt0cnl7cy5vYnNlcnZlKHtlbnRyeVR5cGVzOlsicGFpbnQiXX0pfWNhdGNoKG0pe311PW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKG8pO3RyeXt1Lm9ic2VydmUoe2VudHJ5VHlwZXM6WyJsYXJnZXN0LWNvbnRlbnRmdWwtcGFpbnQiXX0pfWNhdGNoKG0pe31mPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGkpO3RyeXtmLm9ic2VydmUoe3R5cGU6ImxheW91dC1zaGlmdCIsYnVmZmVyZWQ6ITB9KX1jYXRjaChtKXt9fWlmKCJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50KXt2YXIgdj0hMSx3PVsiY2xpY2siLCJrZXlkb3duIiwibW91c2Vkb3duIiwicG9pbnRlcmRvd24iLCJ0b3VjaHN0YXJ0Il07dy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIodCxhLCExKX0pfWwoYyl9fSx7fV0sMjU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7ZnVuY3Rpb24gdCgpe3JldHVybiBlPzE1JmVbbisrXToxNipNYXRoLnJhbmRvbSgpfDB9dmFyIGU9bnVsbCxuPTAscj13aW5kb3cuY3J5cHRvfHx3aW5kb3cubXNDcnlwdG87ciYmci5nZXRSYW5kb21WYWx1ZXMmJihlPXIuZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KDMxKSkpO2Zvcih2YXIgbyxpPSJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLGE9IiIsYz0wO2M8aS5sZW5ndGg7YysrKW89aVtjXSwieCI9PT1vP2ErPXQoKS50b1N0cmluZygxNik6InkiPT09bz8obz0zJnQoKXw4LGErPW8udG9TdHJpbmcoMTYpKTphKz1vO3JldHVybiBhfWZ1bmN0aW9uIG8oKXtyZXR1cm4gYSgxNil9ZnVuY3Rpb24gaSgpe3JldHVybiBhKDMyKX1mdW5jdGlvbiBhKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbj8xNSZuW3IrK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBuPW51bGwscj0wLG89d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO28mJm8uZ2V0UmFuZG9tVmFsdWVzJiZVaW50OEFycmF5JiYobj1vLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIGk9W10sYT0wO2E8dDthKyspaS5wdXNoKGUoKS50b1N0cmluZygxNikpO3JldHVybiBpLmpvaW4oIiIpfWUuZXhwb3J0cz17Z2VuZXJhdGVVdWlkOnIsZ2VuZXJhdGVTcGFuSWQ6byxnZW5lcmF0ZVRyYWNlSWQ6aX19LHt9XSwyNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXtpZighbylyZXR1cm4hMTtpZih0IT09bylyZXR1cm4hMTtpZighZSlyZXR1cm4hMDtpZighaSlyZXR1cm4hMTtmb3IodmFyIG49aS5zcGxpdCgiLiIpLHI9ZS5zcGxpdCgiLiIpLGE9MDthPHIubGVuZ3RoO2ErKylpZihyW2FdIT09blthXSlyZXR1cm4hMTtyZXR1cm4hMH12YXIgbz1udWxsLGk9bnVsbCxhPS9WZXJzaW9uXC8oXFMrKVxzK1NhZmFyaS87aWYobmF2aWdhdG9yLnVzZXJBZ2VudCl7dmFyIGM9bmF2aWdhdG9yLnVzZXJBZ2VudCxzPWMubWF0Y2goYSk7cyYmYy5pbmRleE9mKCJDaHJvbWUiKT09PS0xJiZjLmluZGV4T2YoIkNocm9taXVtIik9PT0tMSYmKG89IlNhZmFyaSIsaT1zWzFdKX1lLmV4cG9ydHM9e2FnZW50Om8sdmVyc2lvbjppLG1hdGNoOnJ9fSx7fV0sMjc6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2Z1bmN0aW9uIGUoKXt0KGEmJmRvY3VtZW50W2FdP2RvY3VtZW50W2FdOmRvY3VtZW50W29dPyJoaWRkZW4iOiJ2aXNpYmxlIil9ImFkZEV2ZW50TGlzdGVuZXIiaW4gZG9jdW1lbnQmJmkmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoaSxlLCExKX1lLmV4cG9ydHM9cjt2YXIgbyxpLGE7InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudC5oaWRkZW4/KG89ImhpZGRlbiIsaT0idmlzaWJpbGl0eWNoYW5nZSIsYT0idmlzaWJpbGl0eVN0YXRlIik6InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudC5tc0hpZGRlbj8obz0ibXNIaWRkZW4iLGk9Im1zdmlzaWJpbGl0eWNoYW5nZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQud2Via2l0SGlkZGVuJiYobz0id2Via2l0SGlkZGVuIixpPSJ3ZWJraXR2aXNpYmlsaXR5Y2hhbmdlIixhPSJ3ZWJraXRWaXNpYmlsaXR5U3RhdGUiKX0se31dLDI4OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPVtdLHI9IiIsaT0wO2ZvcihyIGluIHQpby5jYWxsKHQscikmJihuW2ldPWUocix0W3JdKSxpKz0xKTtyZXR1cm4gbn12YXIgbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2UuZXhwb3J0cz1yfSx7fV0sMjk6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuKXtlfHwoZT0wKSwidW5kZWZpbmVkIj09dHlwZW9mIG4mJihuPXQ/dC5sZW5ndGg6MCk7Zm9yKHZhciByPS0xLG89bi1lfHwwLGk9QXJyYXkobzwwPzA6byk7KytyPG87KWlbcl09dFtlK3JdO3JldHVybiBpfWUuZXhwb3J0cz1yfSx7fV0sMzA6W2Z1bmN0aW9uKHQsZSxuKXtlLmV4cG9ydHM9e2V4aXN0czoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydH19LHt9XSxlZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0KXtmdW5jdGlvbiBlKHQpe3JldHVybiB0JiZ0IGluc3RhbmNlb2Ygcj90OnQ/dSh0LHMsYSk6YSgpfWZ1bmN0aW9uIG4obixyLG8saSxhKXtpZihhIT09ITEmJihhPSEwKSwhbC5hYm9ydGVkfHxpKXt0JiZhJiZ0KG4scixvKTtmb3IodmFyIGM9ZShvKSxzPW0obiksdT1zLmxlbmd0aCxmPTA7Zjx1O2YrKylzW2ZdLmFwcGx5KGMscik7dmFyIHA9ZFt5W25dXTtyZXR1cm4gcCYmcC5wdXNoKFt4LG4scixjXSksY319ZnVuY3Rpb24gaSh0LGUpe2dbdF09bSh0KS5jb25jYXQoZSl9ZnVuY3Rpb24gaCh0LGUpe3ZhciBuPWdbdF07aWYobilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdPT09ZSYmbi5zcGxpY2UociwxKX1mdW5jdGlvbiBtKHQpe3JldHVybiBnW3RdfHxbXX1mdW5jdGlvbiB2KHQpe3JldHVybiBwW3RdPXBbdF18fG8obil9ZnVuY3Rpb24gdyh0LGUpe2YodCxmdW5jdGlvbih0LG4pe2U9ZXx8ImZlYXR1cmUiLHlbbl09ZSxlIGluIGR8fChkW2VdPVtdKX0pfXZhciBnPXt9LHk9e30seD17b246aSxhZGRFdmVudExpc3RlbmVyOmkscmVtb3ZlRXZlbnRMaXN0ZW5lcjpoLGVtaXQ6bixnZXQ6dixsaXN0ZW5lcnM6bSxjb250ZXh0OmUsYnVmZmVyOncsYWJvcnQ6YyxhYm9ydGVkOiExfTtyZXR1cm4geH1mdW5jdGlvbiBpKHQpe3JldHVybiB1KHQscyxhKX1mdW5jdGlvbiBhKCl7cmV0dXJuIG5ldyByfWZ1bmN0aW9uIGMoKXsoZC5hcGl8fGQuZmVhdHVyZSkmJihsLmFib3J0ZWQ9ITAsZD1sLmJhY2tsb2c9e30pfXZhciBzPSJuckBjb250ZXh0Iix1PXQoImdvcyIpLGY9dCgyOCksZD17fSxwPXt9LGw9ZS5leHBvcnRzPW8oKTtlLmV4cG9ydHMuZ2V0T3JTZXRDb250ZXh0PWksbC5iYWNrbG9nPWR9LHt9XSxnb3M6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuKXtpZihvLmNhbGwodCxlKSlyZXR1cm4gdFtlXTt2YXIgcj1uKCk7aWYoT2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3Qua2V5cyl0cnl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOnIsd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMX0pLHJ9Y2F0Y2goaSl7fXJldHVybiB0W2VdPXIscn12YXIgbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2UuZXhwb3J0cz1yfSx7fV0saGFuZGxlOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbixyKXtvLmJ1ZmZlcihbdF0sciksby5lbWl0KHQsZSxuKX12YXIgbz10KCJlZSIpLmdldCgiaGFuZGxlIik7ZS5leHBvcnRzPXIsci5lZT1vfSx7fV0saWQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiF0fHwib2JqZWN0IiE9PWUmJiJmdW5jdGlvbiIhPT1lPy0xOnQ9PT13aW5kb3c/MDphKHQsaSxmdW5jdGlvbigpe3JldHVybiBvKyt9KX12YXIgbz0xLGk9Im5yQGlkIixhPXQoImdvcyIpO2UuZXhwb3J0cz1yfSx7fV0sbG9hZGVyOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2lmKCFFKyspe3ZhciB0PWIuaW5mbz1OUkVVTS5pbmZvLGU9bC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07aWYoc2V0VGltZW91dCh1LmFib3J0LDNlNCksISh0JiZ0LmxpY2Vuc2VLZXkmJnQuYXBwbGljYXRpb25JRCYmZSkpcmV0dXJuIHUuYWJvcnQoKTtzKHksZnVuY3Rpb24oZSxuKXt0W2VdfHwodFtlXT1uKX0pO3ZhciBuPWEoKTtjKCJtYXJrIixbIm9ubG9hZCIsbitiLm9mZnNldF0sbnVsbCwiYXBpIiksYygidGltaW5nIixbImxvYWQiLG5dKTt2YXIgcj1sLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Iuc3JjPSJodHRwczovLyIrdC5hZ2VudCxlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHIsZSl9fWZ1bmN0aW9uIG8oKXsiY29tcGxldGUiPT09bC5yZWFkeVN0YXRlJiZpKCl9ZnVuY3Rpb24gaSgpe2MoIm1hcmsiLFsiZG9tQ29udGVudCIsYSgpK2Iub2Zmc2V0XSxudWxsLCJhcGkiKX12YXIgYT10KDIyKSxjPXQoImhhbmRsZSIpLHM9dCgyOCksdT10KCJlZSIpLGY9dCgyNiksZD10KDIzKSxwPXdpbmRvdyxsPXAuZG9jdW1lbnQsaD0iYWRkRXZlbnRMaXN0ZW5lciIsbT0iYXR0YWNoRXZlbnQiLHY9cC5YTUxIdHRwUmVxdWVzdCx3PXYmJnYucHJvdG90eXBlO2lmKGQocC5sb2NhdGlvbikpe05SRVVNLm89e1NUOnNldFRpbWVvdXQsU0k6cC5zZXRJbW1lZGlhdGUsQ1Q6Y2xlYXJUaW1lb3V0LFhIUjp2LFJFUTpwLlJlcXVlc3QsRVY6cC5FdmVudCxQUjpwLlByb21pc2UsTU86cC5NdXRhdGlvbk9ic2VydmVyfTt2YXIgZz0iIitsb2NhdGlvbix5PXtiZWFjb246ImJhbS5uci1kYXRhLm5ldCIsZXJyb3JCZWFjb246ImJhbS5uci1kYXRhLm5ldCIsYWdlbnQ6ImpzLWFnZW50Lm5ld3JlbGljLmNvbS9uci1zcGEtMTIwOC5taW4uanMifSx4PXYmJncmJndbaF0mJiEvQ3JpT1MvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksYj1lLmV4cG9ydHM9e29mZnNldDphLmdldExhc3RUaW1lc3RhbXAoKSxub3c6YSxvcmlnaW46ZyxmZWF0dXJlczp7fSx4aHJXcmFwcGFibGU6eCx1c2VyQWdlbnQ6Zn07dCgxOSksdCgyNCksbFtoXT8obFtoXSgiRE9NQ29udGVudExvYWRlZCIsaSwhMSkscFtoXSgibG9hZCIsciwhMSkpOihsW21dKCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLHBbbV0oIm9ubG9hZCIscikpLGMoIm1hcmsiLFsiZmlyc3RieXRlIixhLmdldExhc3RUaW1lc3RhbXAoKV0sbnVsbCwiYXBpIik7dmFyIEU9MH19LHt9XSwid3JhcC1mdW5jdGlvbiI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZnVuY3Rpb24gbihlLG4scixzLHUpe2Z1bmN0aW9uIG5yV3JhcHBlcigpe3ZhciBpLGEsZixwO3RyeXthPXRoaXMsaT1kKGFyZ3VtZW50cyksZj0iZnVuY3Rpb24iPT10eXBlb2Ygcj9yKGksYSk6cnx8e319Y2F0Y2gobCl7byhbbCwiIixbaSxhLHNdLGZdLHQpfWMobisic3RhcnQiLFtpLGEsc10sZix1KTt0cnl7cmV0dXJuIHA9ZS5hcHBseShhLGkpfWNhdGNoKGgpe3Rocm93IGMobisiZXJyIixbaSxhLGhdLGYsdSksaH1maW5hbGx5e2MobisiZW5kIixbaSxhLHBdLGYsdSl9fXJldHVybiBhKGUpP2U6KG58fChuPSIiKSxucldyYXBwZXJbcF09ZSxpKGUsbnJXcmFwcGVyLHQpLG5yV3JhcHBlcil9ZnVuY3Rpb24gcih0LGUscixvLGkpe3J8fChyPSIiKTt2YXIgYyxzLHUsZj0iLSI9PT1yLmNoYXJBdCgwKTtmb3IodT0wO3U8ZS5sZW5ndGg7dSsrKXM9ZVt1XSxjPXRbc10sYShjKXx8KHRbc109bihjLGY/cytyOnIsbyxzLGkpKX1mdW5jdGlvbiBjKG4scixpLGEpe2lmKCFofHxlKXt2YXIgYz1oO2g9ITA7dHJ5e3QuZW1pdChuLHIsaSxlLGEpfWNhdGNoKHMpe28oW3MsbixyLGldLHQpfWg9Y319cmV0dXJuIHR8fCh0PWYpLG4uaW5QbGFjZT1yLG4uZmxhZz1wLG59ZnVuY3Rpb24gbyh0LGUpe2V8fChlPWYpO3RyeXtlLmVtaXQoImludGVybmFsLWVycm9yIix0KX1jYXRjaChuKXt9fWZ1bmN0aW9uIGkodCxlLG4pe2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3ZhciByPU9iamVjdC5rZXlzKHQpO3JldHVybiByLmZvckVhY2goZnVuY3Rpb24obil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19LHNldDpmdW5jdGlvbihlKXtyZXR1cm4gdFtuXT1lLGV9fSl9KSxlfWNhdGNoKGkpe28oW2ldLG4pfWZvcih2YXIgYSBpbiB0KWwuY2FsbCh0LGEpJiYoZVthXT10W2FdKTtyZXR1cm4gZX1mdW5jdGlvbiBhKHQpe3JldHVybiEodCYmdCBpbnN0YW5jZW9mIEZ1bmN0aW9uJiZ0LmFwcGx5JiYhdFtwXSl9ZnVuY3Rpb24gYyh0LGUpe3ZhciBuPWUodCk7cmV0dXJuIG5bcF09dCxpKHQsbixmKSxufWZ1bmN0aW9uIHModCxlLG4pe3ZhciByPXRbZV07dFtlXT1jKHIsbil9ZnVuY3Rpb24gdSgpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLGU9bmV3IEFycmF5KHQpLG49MDtuPHQ7KytuKWVbbl09YXJndW1lbnRzW25dO3JldHVybiBlfXZhciBmPXQoImVlIiksZD10KDI5KSxwPSJuckBvcmlnaW5hbCIsbD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGg9ITE7ZS5leHBvcnRzPXIsZS5leHBvcnRzLndyYXBGdW5jdGlvbj1jLGUuZXhwb3J0cy53cmFwSW5QbGFjZT1zLGUuZXhwb3J0cy5hcmdzVG9BcnJheT11fSx7fV19LHt9LFsibG9hZGVyIiwyLDE2LDUsMyw0XSk7CjtOUkVVTS5sb2FkZXJfY29uZmlnPXthY2NvdW50SUQ6IjM5Mjg0Iix0cnVzdEtleToiMzkyODQiLGFnZW50SUQ6Ijc0NDc0NjgiLGxpY2Vuc2VLZXk6IjY4OWQ1YjQ1NjIiLGFwcGxpY2F0aW9uSUQ6IjIwMTEyMjQifQo7TlJFVU0uaW5mbz17YmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsZXJyb3JCZWFjb246ImJhbS1jZWxsLm5yLWRhdGEubmV0IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0IixzYToxfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogIGlmKHdpbmRvdy5uZXdyZWxpYyl7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgnY29udHJvbGxlcl92aWV3JywgJ1ZpbWVvXENvbnRyb2xsZXJcQ2xpcENvbnRyb2xsZXJfbWFpbicpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ3VzZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgnYWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ3RlYW1Pd25lcklkJywgJzAnKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJBY2NvdW50VHlwZScsICdVTktOT1dOJyk7fTsKPC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvZ2xvYmFsL2ljb25fZm9udHNfNjhlZmYzOTQ3Mjk4MDYzMGM1YTA4MzJhMmQ0Mzk2YzYubWluLmNzcyI+CgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2NsaXBfYmV0YV9jb21iaW5lZF9mOTI2MTYxZGE3ZDNkYzk0MjU2YTgxMmU4YjYxNTcxYy5taW4uY3NzIj4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC90b3BuYXZfY2FydF9idXR0b25fZmRkYTViZWYxYTExNmYwODc4ZDhiMjFmZGExZDU4MTUubWluLmNzcyI+CgoKCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAKICAgICAgICB2YXIgcGxheWVyQXNzZXRVcmxzID0geyJiYXJlYm9uZV9qcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvanNcL2JhcmVib25lLmpzIiwiY2hyb21lbGVzc19qcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvanNcL2Nocm9tZWxlc3MuanMiLCJjaHJvbWVsZXNzX2NzcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvY3NzXC9jaHJvbWVsZXNzLmNzcyIsImNzcyI6Imh0dHBzOlwvXC9mLnZpbWVvY2RuLmNvbVwvcFwvNC4yNS4xNFwvY3NzXC9wbGF5ZXIuY3NzIiwianMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9wbGF5ZXIuanMiLCJwbGF5ZXJfdXJsIjoicGxheWVyLnZpbWVvLmNvbSJ9OwoKICAgICAgICB2YXIgX2V4dGVuZCA9IGZ1bmN0aW9uKCl7Zm9yKHZhciByPWFyZ3VtZW50c1swXSxuPTEsZT1hcmd1bWVudHMubGVuZ3RoO2U+bjtuKyspe3ZhciB0PWFyZ3VtZW50c1tuXTtmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiYoclthXT10W2FdKX1yZXR1cm4gcn07CgogICAgICAgICAgICB3aW5kb3cgPSBfZXh0ZW5kKHdpbmRvdywgeyJ2aW1lb19lc2kiOnsiY29uZmlnIjp7InJvdXRlIjoiVmltZW9cXENvbnRyb2xsZXJcXENsaXBDb250cm9sbGVyOm1haW4iLCJjb250cm9sbGVyIjoiVmltZW9cXENvbnRyb2xsZXJcXENsaXBDb250cm9sbGVyIiwiYXV0b2NvbXBsZXRlX2VuYWJsZWQiOnRydWUsIm9uc2l0ZV9yZWZlcnJlciI6ZmFsc2V9fSwiYWJsaW5jb2xuX2NvbmZpZyI6W10sInZpbWVvIjp7ImNvbmZpZyI6eyJjYXJ0Ijp7ImNhcnRfY29udGVudCI6eyJzdG9jayI6eyJzdG9yZSI6InN0b2NrIiwidmVyc2lvbiI6MSwicXVhbnRpdGllcyI6W10sIml0ZW1zIjpbXSwiYXR0cmlidXRlcyI6W10sImN1cnJlbmN5IjoiRVVSIiwiaXRlbXNfc29ydGVkX2J5X2luZGV4IjpbXSwiaXRlbXNfY291bnQiOjB9fX19fX0pOwo8L3NjcmlwdD4KCiAgICAgICAgCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBhYmxpbmNvbG5fY29uZmlnID0gYWJsaW5jb2xuX2NvbmZpZyB8fCB7fTsKICAgICAgICBhYmxpbmNvbG5fY29uZmlnLnRlc3RzID0geyJKUy5XaXphcmQuRGVwcmVjYXRpb24iOnsiaWQiOjEwNzcsIm5hbWUiOiJKUy5XaXphcmQuRGVwcmVjYXRpb24iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvdGVtcGxhdGVzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTI2LCJuYW1lIjoic2hvd193aXphcmQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xNSAxMDowNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDU3LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo1MDB9LHsiaWQiOjUwNTgsIm5hbWUiOiJzaG93X3dpemFyZCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjUwMH1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNlYXJjaC5QcmVjaXNpb24iOnsiaWQiOjEwNzYsIm5hbWUiOiJKUy5TZWFyY2guUHJlY2lzaW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMxMjEsIm5hbWUiOiJwcmVjaXNpb24gc2VhcmNoIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNToyNjowNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDQxLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA0MiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDMsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ0LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA0NSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTI1LCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCA4MCUiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTExIDEyOjIyOjIwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNTIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDUzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX0seyJpZCI6NTA1NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjIiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIzIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU2LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiOCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5CcmVhZGNydW1icy5GaWxlQWN0aW9uc01lbnUiOnsiaWQiOjEwNzIsIm5hbWUiOiJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA5OCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjEgMDY6Mjg6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMTAtMjIgMDU6MDg6MzQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxMiwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMTMsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE0LCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudDIiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTI4LCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwMDAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMjMgMDE6NTA6NTEiLCJwYXVzZWRfb24iOiIyMDIzLTEwLTIzIDAyOjQyOjUwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA2MSwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRjJQLlBpbG90Ijp7ImlkIjoxMDcwLCJuYW1lIjoiSlMuRjJQLlBpbG90IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTYsIm5hbWUiOiIyJSAtIEYyUCBFeHBlcmltZW50IFJvbGxvdXQgLSBKUyIsImJ1Y2tldHMiOjIwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wMyAwNTo0ODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDA4LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAwOSwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTE1LCJuYW1lIjoiKyA4JSAtIEYyUCBFeHBlcmltZW50IFJvbGxvdXQgLSBKUyIsImJ1Y2tldHMiOjgwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wMyAxMToyOTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDMyLCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzMywibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTE5LCJuYW1lIjoiKyA0MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo0MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA0IDE0OjMxOjUxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMzcsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDM4LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMxMjMsIm5hbWUiOiIrIDUwJSAtIEYyUCBFeHBlcmltZW50IFJvbGxvdXQgLSBKUyIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDUgMTk6MTY6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0OCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRnJlZVRyaWFsLkV4Y2x1ZGVSZXN0cmljdGVkQ291bnRyaWVzIjp7ImlkIjoxMDY3LCJuYW1lIjoiSlMuRnJlZVRyaWFsLkV4Y2x1ZGVSZXN0cmljdGVkQ291bnRyaWVzIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwODgsIm5hbWUiOiJSdW4gVGVzdCBhdCAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTE4IDA4OjU5OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ5OTQsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk5NSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA5OSwibmFtZSI6IiogUnVuIFRlc3QgYXQgOTAlIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0yMiAxNDozMzozMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDE1LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMTYsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIjp7ImlkIjoxMDU4LCJuYW1lIjoiSlMuQ2hlY2tvdXQuUGF5UGFsLkRlZmF1bHRGb3JGcmVlVHJpYWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcL3N0b3JlXC8qIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDY2LCJuYW1lIjoiKiAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA4LTIyIDE0OjE0OjQwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ5NjcsIm5hbWUiOiJkZWZhdWx0X3BheXBhbF9mb3JfZnJlZV90cmlhbCIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5NjgsIm5hbWUiOiJkZWZhdWx0X3BheXBhbF9mb3JfZnJlZV90cmlhbCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNjQsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkZSIiwiREUiLCJJVCIsIkdCIl19XX0seyJpZCI6MzA3MSwibmFtZSI6IiogOTAlIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yNCAwOTowMToxMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTc1LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTc2LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19XX0sIkpTLkVkaXRvci5WMi5TdGFmZlJvbGxvdXQiOnsiaWQiOjEwNTUsIm5hbWUiOiJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA1OCwibmFtZSI6ImVkaXRvcl8yX3N0YWZmIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0xNSAxMDo0ODozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyMDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTU2LCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfSx7ImlkIjo0OTU3LCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoyMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDgzLCJuYW1lIjoiKiBlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTAzIDA3OjI1OjM3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ5OTEsIm5hbWUiOiJlZGl0b3JfMiIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjEwMDB9LHsiaWQiOjQ5OTIsIm5hbWUiOiJlZGl0b3JfMiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfV19LCJKUy5MSUhQLkNyZWF0ZVF1aWNrbGlua0NUQVRlc3QiOnsiaWQiOjEwNDYsIm5hbWUiOiJKUy5MSUhQLkNyZWF0ZVF1aWNrbGlua0NUQVRlc3QiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzAyOCwibmFtZSI6IjEwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMCAxMDoxNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowNzo1NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTE0LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDkxNSwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDc4LCJuYW1lIjoiNTAlIHJvbGxvdXQgLSBVcGRhdGUgQ3JlYXRlIG9uZSBjbGljayBDVEEiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA4LTMxIDEyOjI1OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA5LTE4IDEwOjA4OjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ5ODYsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTg3LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTUsIm5hbWUiOiIxMDAlIHJvbGxvdXQgLSBVcGRhdGUgQ3JlYXRlIG9uZSBjbGljayBDVEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0yNyAxMjo1NTo0OCIsInBhcmFtZXRlcnMiOltdLCJzZWdtZW50cyI6W119LHsiaWQiOjMxMDUsIm5hbWUiOiIxMDAlIHJvbGxvdXQgdGFrZSAyIC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTY6MDQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAyMiwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyI6eyJpZCI6MTA0MiwibmFtZSI6IkpTLlNWVi5OZXdUcmltbWVyLkhpZGVUb3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzAxNiwibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xOSAwODozNTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODk3LCJuYW1lIjoiaGlkZV90dmVfdG91cnBvaW50cyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5OZXdUcmltbWVyLlJvbGxvdXQiOnsiaWQiOjEwNDEsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzAxNSwibmFtZSI6Im5ld190cmltbWVyX3JvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xOCAwNzozMzozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODk2LCJuYW1lIjoibmV3X3RyaW1tZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5yZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZXVzZXJzIjp7ImlkIjoxMDQwLCJuYW1lIjoiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTg0LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMDMgMTA6NTA6MTkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDctMTEgMTA6NTQ6NDgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg2NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg2NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwMTEsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZXVzZXJzMSIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjU3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTE3IDA1OjA1OjUyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4ODgsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4ODksIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDE3LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNzozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODk4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0ODk5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0Ijp7ImlkIjoxMDMxLCJuYW1lIjoiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvcmVjb3JkXC9zdGFydC1yZWNvcmRpbmciLCJleHBlcmltZW50cyI6W3siaWQiOjI5NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJidWNrZXRzIjo0MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTE0IDA4OjI2OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTI3IDA4OjQ4OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NDAsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODQxLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5NzYsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQyIiwiYnVja2V0cyI6NjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xOCAwNDoxNDo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODU0LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg1NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTg1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTI3IDA4OjQ5OjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjYsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLlJldk1hbnVhbENhcHRpb25zIjp7ImlkIjoxMDIwLCJuYW1lIjoiSlMuU1ZWLlJldk1hbnVhbENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjkxOSwibmFtZSI6IlJldiBNYW51YWwgQ2FwdGlvbnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xMyAwODo0NjoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc4LCJuYW1lIjoicmV2X21hbnVhbF9jYXB0aW9ucyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCI6eyJpZCI6MTAxNiwibmFtZSI6IkpTLk1vYmlsZS5DbGlwLkJhbm5lckpvaW5QYXRoIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC86Y2xpcElkIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODk2LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIiwiYnVja2V0cyI6MCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTYgMTQ6MzI6NTkiLCJwYXVzZWRfb24iOiIyMDIzLTA1LTE2IDE2OjIyOjA1Iiwic3RvcHBlZF9vbiI6IjIwMjMtMDUtMTYgMTY6Mjk6MzUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc1MywibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDc1NCwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0MiwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFUIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkhVIiwiSVMiLCJJVCIsIkxWIiwiTEkiLCJMVCIsIkxVIiwiTVQiLCJOTCIsIk5PIiwiUEwiLCJQVCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJHQiJdfV19LHsiaWQiOjI5MjcsIm5hbWUiOiJNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE2OjM3OjI2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI0OjUwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3ODcsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3ODgsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDUsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVCIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJTSSIsIkVTIiwiU0UiLCJDSCIsIlRSIiwiR0IiLCJWQSJdfV19LHsiaWQiOjI5MzksIm5hbWUiOiIqIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDI1JSIsImJ1Y2tldHMiOjE1MCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMTE6MzU6MDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDUgMTY6MjU6MTEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwNSwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDgwNiwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0NywidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFMIiwiQVQiLCJCWSIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJHTCIsIklTIiwiSUUiLCJJTSIsIklUIiwiTFYiLCJMSSIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJTSSIsIkVTIiwiU0UiLCJDSCIsIlRSIiwiR0IiLCJWQSJdfV19LHsiaWQiOjI5NDMsIm5hbWUiOiIgTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAwJSIsImJ1Y2tldHMiOjc1MCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMjIgMTM6MTY6MTAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDUgMTY6MjU6MjQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwOSwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDgxMCwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0OCwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFMIiwiQVQiLCJCWSIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJHTCIsIklTIiwiSUUiLCJJTSIsIklUIiwiTFYiLCJMSSIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTY0LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0tIDEwMCAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMDUgMTY6Mjg6NDEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgzOSwibmFtZSI6Im1vYmlsZV9jbGlwX2pvaW5fYmFubmVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM1MywidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIkFMIiwiQVQiLCJCWSIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJHTCIsIklTIiwiSUUiLCJJTSIsIklUIiwiTFYiLCJMSSIsIkxVIiwiTkwiLCJOTyIsIlBMIiwiU0siLCJTSSIsIkVTIiwiU0UiLCJDSCIsIlRSIiwiR0IiLCJWQSJdfV19XX0sIkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIjp7ImlkIjoxMDEwLCJuYW1lIjoiSlMuQnVpbGRlci5UZXN0LjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9zdGFnaW5nLXRlc3RcL2FibGluY29sbi1sb2NhbGVzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODc4LCJuYW1lIjoiQnVpbGRlclNlZ21lbnRUZXN0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTMgMTM6MTQ6NDgiLCJwYXVzZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjE2Iiwic3RvcHBlZF9vbiI6IjIwMjMtMDQtMTMgMTQ6MDg6MjYiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjoyODgwLCJuYW1lIjoiQnVpbGRlclNlZ21lbnRUZXN0MiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDE0OjI5OjI5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MzIsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ3MzMsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uT3ZlcmxheVZzSW5saW5lSW50ZWdyYXRpb25zIjp7ImlkIjo5OTUsIm5hbWUiOiJKUy5SZWNvcmRFeHRlbnNpb24uT3ZlcmxheVZzSW5saW5lSW50ZWdyYXRpb25zIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI4MTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIElubGluZSB2cyBPdmVybGF5IEludGVncmF0aW9ucyB0ZXN0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMjcgMDc6NTE6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMjcgMDc6NTk6NDQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY0MSwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2NDIsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjgxOSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA4OjAwOjAzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE1IDA1OjA0OjUyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDMsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NjQ0LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTMsIm5hbWUiOiIqICogUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjA5OjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTcsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njk4LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciI6eyJpZCI6OTkyLCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlBob3RvQXZhdGFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI4MTcsIm5hbWUiOiJQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA4OjM1OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wMi0yNyAwODozNjo1NCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA4OjM3OjI4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MzksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjAsIm5hbWUiOiIqIFBBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMjcgMDk6MDk6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMjcgMDk6MTE6NDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY0NSwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2NDYsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjgyMSwibmFtZSI6IiogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTA2IDA5OjA4OjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTEwIDA0OjEzOjA4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDcsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg1NiwibmFtZSI6IiogKiAqIFBBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMjMgMTg6MTE6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY5OSwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDAsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuVm9kU2FsZXNUYXguRW5hYmxlZCI6eyJpZCI6OTg2LCJuYW1lIjoiSlMuQ2hlY2tvdXQuVm9kU2FsZXNUYXguRW5hYmxlZCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjgwMywibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMDcgMTA6MDg6NTUiLCJwYXVzZWRfb24iOiIyMDIzLTAzLTA3IDE2OjQ1OjM5Iiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMDkgMTI6MTg6MjQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDYyMCwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTE4LCJuYW1lIjoiVk9EIFNhbGVzIFRheCBGZWF0dXJlIEZsYWcgZm9yIFByZWNhbGMgMiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTExIDEyOjQ5OjUwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE5IDA2OjAwOjAxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NzcsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkzNCwibmFtZSI6IkVuYWJsZSBWT0QgVGF4ZXMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xOSAwNzoyMjo1NCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODAyLCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCI6eyJpZCI6OTg1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLkRlc2t0b3BSb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9yZWNvcmRcL2F1dGgtY29tcGxldGUiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDIsIm5hbWUiOiJEZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTIwIDE0OjU3OjE3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTIxIDE0OjAwOjI4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTgsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjE5LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4ODksIm5hbWUiOiJEZXNrdG9wUm9sbG91dF8xMDAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzQ0LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDc0NSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuU21hcnRDcm9wIjp7ImlkIjo5ODIsIm5hbWUiOiJKUy5FZGl0b3IuU21hcnRDcm9wIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzk4LCJuYW1lIjoic21hcnRfY3JvcCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDItMTYgMDI6MzQ6MzgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDYxMCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9LHsiaWQiOjQ2MTEsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbeyJpZCI6MzI5LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiVVMiXX1dfSx7ImlkIjoyODgyLCJuYW1lIjoiKiBzbWFydF9jcm9wIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xNiAwODozOToxOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNCAwOTo1ODoxOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzM2LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjQwMH0seyJpZCI6NDczNywibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo0MDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTU1LCJuYW1lIjoiKiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA0IDEyOjAzOjUwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MjksIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLk1hcmtldGluZy5QcmljaW5nLk1vZHVsZS4yMDIzLlYxIjp7ImlkIjo5NzgsIm5hbWUiOiJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdCIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE1IDE2OjIwOjI4IiwicGF1c2VkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo0OCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE1IDE3OjAyOjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MDEsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2MDIsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODQyLCJuYW1lIjoiNTBcLzUwIE1hcmtldGluZyBQcmljaW5nIE1vZHVsZSBUZXN0LlYxIiwiYnVja2V0cyI6MTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE1IDE3OjA0OjUxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE2IDE1OjQ5OjMwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NzcsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2NzgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODQ1LCJuYW1lIjoiNTBcLzUwIE1hcmtldGluZyBQcmljaW5nIE1vZHVsZSBUZXN0LlYyIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNyAwODo0NDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNyAxMzoxMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjgzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njg0LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzM1LCJ0eXBlIjoibGFuZ3VhZ2UiLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiZXMiLCJkZS1ERSIsImZyLUZSIiwiamEtSlAiLCJwdC1CUiIsImtvLUtSIl19XX0seyJpZCI6Mjg0NywibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTg6MjQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MjE6MDUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4NSwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNiwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbImVuIl19XX0seyJpZCI6Mjg2MSwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTAgMTM6NTU6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDQtMTAgMTY6MDc6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDcwOCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDcwOSwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiR0IiLCJVUyJdfV19LHsiaWQiOjI4NjgsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMgLSB2MiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTAgMTU6MjM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDQtMTAgMTY6MDc6MzIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDcxOCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDcxOSwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM0MCwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiR0IiLCJVUyJdfV19LHsiaWQiOjI4NjksIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMgLSB2MyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA5OjQ4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjE4OjA2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MjAsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MjEsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODc0LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjQiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEyIDE1OjA1OjQwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTI4IDExOjIyOjUxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MjgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MjksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODc2LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjUiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDExOjE3OjQ4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTI4IDExOjIzOjE2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MzAsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MzEsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTkwLCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgSDEtcm9sbCBvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yOCAxMToyNDoxOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODcyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLkRpc2FibGVUVkUiOnsiaWQiOjk3NiwibmFtZSI6IkpTLkVkaXRvci5EaXNhYmxlVFZFIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc3MSwibmFtZSI6ImRpc2FibGVfdHZlIiwiYnVja2V0cyI6MSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTMgMDk6MDE6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU2NCwibmFtZSI6ImRpc2FibGVfdHZlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU2NSwibmFtZSI6ImRpc2FibGVfdHZlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MTAwMDAwMDAwMH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5BZGRUZXh0U2lkZVBhbmVsIjp7ImlkIjo5NzMsIm5hbWUiOiJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc2MiwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImJ1Y2tldHMiOjEsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTExIDEwOjE5OjM0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA0OjEzIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NDgsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTQ5LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzAsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDIwMCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTIgMDM6MDU6MjQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMjYgMDI6MzM6MTkiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU2MiwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc3OSwibmFtZSI6IjQgZGVmYXVsdCB0ZXh0IHNpemUgMTAwMCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMjAgMDY6NDk6NTkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMjYgMDI6MzM6MTQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MywibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NzQsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NCwibmFtZSI6IjQgZGVmYXVsdCB0ZXh0IHNpemUgMTAwMCB2YXJpYW50IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMjYgMDI6MzU6MjciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3NiwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5CdWlsZGVyaW8uQWJUZXN0Ijp7ImlkIjo5NzEsIm5hbWUiOiJKUy5CdWlsZGVyaW8uQWJUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jbXMtYWJ0ZXN0IiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzU5LCJuYW1lIjoiRGF0YSBmbG93IENNUyBBXC9CIHRlc3QiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTA1IDAwOjE0OjQzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NDIsIm5hbWUiOiJzaG93X3BhZ2UiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTQzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5UZW1wbGF0ZXNJbnNwZWN0b3IiOnsiaWQiOjk2NiwibmFtZSI6IkpTLkVkaXRvci5UZW1wbGF0ZXNJbnNwZWN0b3IiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3MjAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMyAwNjozOToxMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMS0wMyAwOTowMzoxNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDk4LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ5OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0wMyAwOTowNzoyMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMS0wOCAwNDoxODoxNyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDU4MCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg3LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzIwMCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTk6NDQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTMgMDI6MTc6NDIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU4MSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1ODIsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl80MDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTEwIDA1OjI5OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjMzIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg0LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfMTAwMCIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMTEgMDM6MzE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTMgMDI6MTc6MjUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU4NSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1ODYsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjgxMywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl9jbG9kZSBvbiB2YXJpYW50ICIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE4OjMwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MzEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIjp7ImlkIjo5NTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5NZW1iZXJzaGlwUGxhbi5EaXNhYmxlQXV0b1JlbmV3UmVkZXNpZ24iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3NldHRpbmdzXC9iaWxsaW5nXC9tZW1iZXJzaGlwX3BsYW4iLCJleHBlcmltZW50cyI6W3siaWQiOjI2OTcsIm5hbWUiOiJTaG93IHJlZGVzaWduZWQgRGlzYWJsZSBhdXRvIHJlbmV3IG1vZGFsIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMSAxNTozNTozNyIsInBhdXNlZF9vbiI6IjIwMjMtMDItMTcgMTM6MTU6MTAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDYwLCJuYW1lIjoiZGlzYWJsZV9hdXRvX3JlbmV3X3JlZGVzaWduIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ2MSwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSI6eyJpZCI6OTQzLCJuYW1lIjoiSlMuVk0uSW52aXRlSW5FbXB0eVN0YXRlIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjY1NiwibmFtZSI6Ikludml0ZSBpbiBFbXB0eSBTdGF0ZSBSb2xsb3V0IHRvIDEwJSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjAgMTI6NDA6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM5MSwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTIsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDAsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMDAlIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMDowMjozMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0wNyAxNjo1MDowNyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY0LCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ2NSwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6InZhcmlhbnQxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuVXBsb2FkLlNob3dRdW90YVdhcm5pbmdUb0ZyZWVVc2VycyI6eyJpZCI6OTM5LCJuYW1lIjoiSlMuVXBsb2FkLlNob3dRdW90YVdhcm5pbmdUb0ZyZWVVc2VycyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvdXBsb2FkXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDksIm5hbWUiOiIqIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0zMCAxMjoyODozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzo0MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzgxLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM4MiwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjU1LCJuYW1lIjoiKzQwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wMyAxMTo0NTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Mzg5LCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM5MCwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjYwLCJuYW1lIjoiNTAlIC0gU2hvdyBxdW90YSB3YXJuaW5nIHRvIEZyZWUgdXNlcnMgb24gdXBsb2FkIHBhZ2UiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTA1IDE2OjIzOjM0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0MDAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDAxLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDMsIm5hbWUiOiIrNTAlIC0gU2hvdyBxdW90YSB3YXJuaW5nIHRvIEZyZWUgdXNlcnMgb24gdXBsb2FkIHBhZ2UiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTMxIDEzOjAzOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0NzAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDcxLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkFWUy5TdW5zZXRBVlNQcml2YWN5Ijp7ImlkIjo5MzIsIm5hbWUiOiJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC86Y2xpcElkXC9hZHZhbmNlZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjY0NCwibmFtZSI6IkFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTA6MjQ6MTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NTQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM3MiwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzczLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjkyLCJuYW1lIjoiMTAwJSByYW1wIC0gQVZTIFByaXZhY3kgTWlncmF0aW9uIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yNCAxMToyMTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDUxLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NTIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciI6eyJpZCI6OTI4LCJuYW1lIjoiSlMuRWRpdG9yLk1lZGlhSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjIyLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDEwMCkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTE4IDEzOjA5OjMyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIxIDA2OjI1OjQ1IiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzQsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjI4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDIwMCkiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIxIDA2OjI2OjQwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTI5IDAzOjE3OjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNDUsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNDYsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzA2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDIwMCluZXciLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTExLTAyIDA1OjAyOjM3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTExLTI3IDA2OjA1OjM4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ0NzYsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NzcsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzE4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKDgwMCluZXciLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTExLTEwIDA3OjQyOjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTExLTI3IDA2OjA1OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0OTMsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTQsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IgKHZhcmlhbnQpICIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTExLTI3IDA2OjA2OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1MjcsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3JfbmV3MiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI4IDA0OjMxOjM2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzcsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1NzgsIm5hbWUiOiJzaG93X21lZGlhX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZXR0aW5ncy5NZW1iZXJzaGlwUGxhbi5TaG93Q29udGFjdFN1cHBvcnRMaW5rIjp7ImlkIjo5MTgsIm5hbWUiOiJKUy5TZXR0aW5ncy5NZW1iZXJzaGlwUGxhbi5TaG93Q29udGFjdFN1cHBvcnRMaW5rIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjIxLCJuYW1lIjoiT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMjIgMDc6NTQ6MDIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDc6NTQ6MzIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDMzMSwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzMyLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjMzLCJuYW1lIjoiKiBPZmZlciBhIGRvd25ncmFkZSBvcHRpb24iLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI4IDExOjQ2OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNTMsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM1NCwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwMSwibmFtZSI6IkRvd25ncmFkZSBDVEEiLCJidWNrZXRzIjoyMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTI4IDExOjQ3OjAzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ0NjYsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ2NywibmFtZSI6InNob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLmhpZGVTdHlsZXMiOnsiaWQiOjkxNSwibmFtZSI6IkpTLkVkaXRvci5oaWRlU3R5bGVzIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNTYwLCJuYW1lIjoiaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTQgMDI6NTA6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTYgMDY6NTI6MzYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0NiwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDI0NywibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NjMsIm5hbWUiOiJoaWRlU3R5bGVzIDIwMCIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTQgMTM6MDI6NDYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTYgMDY6NTI6NDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI1MSwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDI1MiwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NjQsIm5hbWUiOiJoaWRlU3R5bGVzIDUwMCIsImJ1Y2tldHMiOjMwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMDYgMDM6MDY6NDEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDItMTYgMDY6NTI6NTQiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI1MywibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDI1NCwibmFtZSI6ImhpZGVfc3R5bGVzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NzIsIm5hbWUiOiJoaWRlU3R5bGVzIDEwMDAiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDA1OjU4OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNjUsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNjYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVHJhbnNjcmlwdGlvblZpZGVvRWRpdG9yIjp7ImlkIjo5MTEsIm5hbWUiOiJKUy5FZGl0b3IuVHJhbnNjcmlwdGlvblZpZGVvRWRpdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9tYW5hZ2VcL3ZpZGVvcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU0NywibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiYnVja2V0cyI6MSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMjggMDc6MDA6NTYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIyMCwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIyMSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MTAwMDAwMDAwMH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzgsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvcl9yZWxlYXNlIiwiYnVja2V0cyI6OTk5LCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xNSAwNTowMToyMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTcxLCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTcyLCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLmRyYWdvbmZseSI6eyJpZCI6OTA4LCJuYW1lIjoiSlMuRWRpdG9yLmRyYWdvbmZseSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3NcL2NyZWF0ZVwvY3VzdG9taXplIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNTMyLCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNiAwODo1MzoyNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yOCAwMjoyMjoyMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTk3LCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTk4LCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjU0NCwibmFtZSI6InNob3dfZHJhZ29uZmx5IDEwMCUiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yOCAwMjoyNDowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjE1LCJuYW1lIjoic2hvd19kcmFnb25mbHkiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLnNob3dUb29sYmFyIjp7ImlkIjo4OTcsIm5hbWUiOiJKUy5FZGl0b3Iuc2hvd1Rvb2xiYXIiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJ2aW1lby5jb21cL2NyZWF0ZVwvY3VzdG9taXplIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNTE0LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoMTAlKSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMTEgMTU6MTY6NDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjQgMDM6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE2NywibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQxNjgsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjUxNiwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDkwJSkiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTEzIDA0OjE5OjIwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjI4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNzEsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTcyLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MzUsIm5hbWUiOiJTaG93IHRvb2wgYmFyIChjbG9zZSB0ZXN0KSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU5OjI4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMDMsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuQ2FuY2VsbGF0aW9uLkdlcm1hbnkiOnsiaWQiOjg5NSwibmFtZSI6IkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDg3LCJuYW1lIjoiR2VybWFueSBSZWdpb24iLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0wMSAwOTozODoxOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTI5LCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQxMzAsIm5hbWUiOiJjYW5jZWxfaW5fc3VydmV5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjI4NiwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkRFIl19XX1dfSwiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIjp7ImlkIjo4ODIsIm5hbWUiOiJKUy5MT0hQLkZ1bGxQYWdlUmVkZXNpZ24iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI0NTYsIm5hbWUiOiJIb21lIHBhZ2UgLSBOZXcgVmVyc2lvbiAtIEFsbCBVc2VycyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTE0IDE2OjIxOjMwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA2LTI4IDAxOjE5OjM4IiwicGFyYW1ldGVycyI6W3siaWQiOjQwODUsIm5hbWUiOiJzaG93X3BhZ2UiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ4MywibmFtZSI6IkhvbWUgcGFnZSBNb2JpbGUgVGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI4IDAxOjIwOjQyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTEyIDA5OjQzOjU4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjMsIm5hbWUiOiJzaG93X3BhZ2UiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI0LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NjEsIm5hbWUiOiJWYXJpYW50IHRvIDEwMCUgdXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0NTowNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjQ4LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJlY29yZEV4dGVuc2lvbi5TaWduVXBXYWxsIjp7ImlkIjo4NDksIm5hbWUiOiJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMzI1LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA0LTI4IDA4OjUzOjUwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI4IDA4OjU1OjU2IiwicGFyYW1ldGVycyI6W3siaWQiOjM5MTIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjozOTEzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzNTIsIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NjoyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOSAxMDozNzo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTM5LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6Mzk0MCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDM5LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIHByb2QiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTA3IDA1OjIwOjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA2LTI5IDExOjAzOjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQwNjAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MDYxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIFx1MDQzYzIgLSBwcm9kIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMjkgMTE6MDY6MDQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMDQgMTE6NDU6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyNywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQxMjgsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjUwMCwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgdjIgLSBwcm9kIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDYgMTA6MjU6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDI6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE0NywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQxNDgsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjU1NiwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgdjIgLSBwcm9kIChBXC9BXC9CXC9CKSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAzOjQ2IiwicGF1c2VkX29uIjoiMjAyMi0wOC0wOSAwODowMzo1NyIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjA0OjU3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyMzcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjM4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTcsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSSIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMDkgMDg6NTE6MDYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDc6NDk6MzIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0MCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDEsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjU1OCwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgdjIgLSBwcm9kIChBXC9BXC9CXC9CKSBJSSIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMDkgMDg6NTE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDc6NDk6MjciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0MiwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDMsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMiwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBSb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMjIgMDc6NTA6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDktMjIgMDg6NTE6NTEiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjoyNjM1LCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUyOjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzNTcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuV2ViaW5hci5SZWdpc3RyYW50Q2FwRm9yUHJlbWl1bSI6eyJpZCI6ODIwLCJuYW1lIjoiSlMuV2ViaW5hci5SZWdpc3RyYW50Q2FwRm9yUHJlbWl1bSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6InVwZ3JhZGUsIGNoZWNrb3V0IGFuZCBtYXJrZXRpbmcgcGFnZXMiLCJleHBlcmltZW50cyI6W3siaWQiOjIyNDMsIm5hbWUiOiJSb2xsb3V0IHRvIDEwJSB0cmFmZmljIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wMSAwNToyNzoxNyIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzE6NDUiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjozODAzLCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MzgwNCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDM4LCJuYW1lIjoiKiBSb2xsb3V0IHRvIDQwJSB0cmFmZmljIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNiAxMToxNDowMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzE6NTgiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDU4LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA1OSwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDQ0LCJuYW1lIjoiKiAqIFJvbGxvdXQgdG8gNTAlIHRyYWZmaWMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTA4IDAwOjA1OjMxIiwicGF1c2VkX29uIjoiMjAyMi0wNy0wMSAxNDozMjowNCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQwNjksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MDcwLCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5NYXNrc0dyYWR1YWxSZWxlYXNlIjp7ImlkIjo4MDcsIm5hbWUiOiJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL2NyZWF0ZVwvY3VzdG9taXplIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMTY0LCJuYW1lIjoiTWFza3NHcmFkdWFsUmVsZWFzZSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDMtMzAgMDI6Mjk6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjYgMDg6MDg6NDMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzcwNywibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjozNzA4LCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMjY4LCJuYW1lIjoiX01hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA0LTA1IDA4OjQxOjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjMzIiwicGFyYW1ldGVycyI6W3siaWQiOjM4MzMsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzgzNCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjMzOSwibmFtZSI6Il9fX01hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yNiAxNDo1NzoxNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTI4LCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5BcHBsZVBheURlZmF1bHRTZWxlY3RlZCI6eyJpZCI6NjEzLCJuYW1lIjoiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJwcm8sIHByZW1pdW0sIHBsdXMsIGJ1c2luZXNzIGNoZWNrb3V0IHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoxNjE4LCJuYW1lIjoiQXBwbGUgcGF5IHNlbGVjdGVkIGJ5IGRlZmF1bHQiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTMwIDExOjE1OjI2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MjcsIm5hbWUiOiJzZWxlY3RfYXBwbGVfcGF5X2J5X2RlZmF1bHQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyODI4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjE2OTksIm5hbWUiOiIrOTAlIC0gQXBwbGUgcGF5IHNlbGVjdGVkIGJ5IGRlZmF1bHQiLCJidWNrZXRzIjo5MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTA0LTA1IDE3OjM4OjA1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI5NTgsIm5hbWUiOiJzZWxlY3RfYXBwbGVfcGF5X2J5X2RlZmF1bHQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjoyOTU5LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCI6eyJpZCI6NjAxLCJuYW1lIjoiSlMuUmV2aWV3LlJlZ2lzdGVyVG9Db21tZW50IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC86dXNlcm5hbWVcL3Jldmlld1wvOmNsaXBJZFwvOmNsaXBIYXNoIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoxNTg5LCJuYW1lIjoiUmVnaXN0ZXIgdG8gQ29tbWVudCAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAyLTExIDExOjE4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIxLTAzLTAxIDExOjUxOjEwIiwicGFyYW1ldGVycyI6W3siaWQiOjI3ODcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjIzLCJuYW1lIjoiUmVnaXN0ZXIgdG8gQ29tbWVudCAjMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjEtMDMtMDEgMTE6NTM6NTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MjgzNywibmFtZSI6InJlcXVpcmVfcmVnaXN0cmF0aW9uIiwiY2hvaWNlIjoidHJ1ZSIsIndlaWdodCI6MX0seyJpZCI6MjgzOCwibmFtZSI6InJlcXVpcmVfcmVnaXN0cmF0aW9uIiwiY2hvaWNlIjoiZmFsc2UiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19fTsKICAgIDwvc2NyaXB0Pgo8c2NyaXB0PgooZnVuY3Rpb24oKSB7CiAgICB3aW5kb3cuX2d0bSA9IFt7ImNsaXBfaWQiOjc4NDg4NDYsInBhZ2VfcGF0aCI6IlwvNzg0ODg0NiIsImNyZWF0b3JfaWQiOjE5NTU3NSwiY3JlYXRvcl91c2VyX3R5cGUiOiJiYXNpYyIsInZpZGVvX2NhdGVnb3JpZXMiOiIiLCJwcml2YWN5IjoiYW55Ym9keSIsInN0YWZmX3BpY2siOiJubyIsInVzZXJfaWQiOm51bGwsInBhZ2VfdHlwZSI6IlZpZGVvIiwibGFuZ3VhZ2UiOiJlbiIsInVzZXJfc3RhdHVzIjoibG9nZ2VkX291dCIsInVzZXJfdHlwZSI6Im5vbmUiLCJnYV91bml2ZXJzYWxfaWQiOiJVQS03NjY0MS04IiwiY29tc2NvcmVfc2l0ZV9pZCI6MTAzNDgyODl9XTsKCiAgICAgICAgdmFyIGdkcHJDb29raWUgPSAoZG9jdW1lbnQuY29va2llLm1hdGNoKC9eKD86Lio7KT9ccyp2aW1lb19nZHByX29wdGluXHMqPVxzKihbXjtdKykoPzouKik/JC8pfHxbLG51bGxdKVsxXTsKICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICAgICB3aW5kb3cuX2d0bS5wdXNoKHsKICAgICAgICAndnVpZCc6IGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKil2dWlkXHMqXD1ccyooW147XSopLiokKXxeLiokLywgIiQxIiksCiAgICAgICAgJ2d0bS5zdGFydCc6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLAogICAgICAgICdldmVudCc6ICdndG0uanMnCiAgICB9KTsKICAgICAgICAKICAgIHZhciBhY3RpdmVHcm91cHMgPSB3aW5kb3cuT25ldHJ1c3RBY3RpdmVHcm91cHMgfHwgJyc7CiAgICB2YXIgZ3RtcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgIG5vZGU7CiAgICBndG1zLmFzeW5jID0gdHJ1ZTsKICAgIGd0bXMudHlwZSA9IGFjdGl2ZUdyb3Vwcy5pbmRleE9mKCJDMDAwMiIpID09PSAtMSA/ICd0ZXh0L3BsYWluJyA6ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgZ3Rtcy5jbGFzc05hbWUgPSAib3B0YW5vbi1jYXRlZ29yeS1DMDAwMiI7CiAgICBndG1zLnNyYyA9ICcvL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9R1RNLVJCS0smbD1fZ3RtJzsKICAgIG5vZGUgPSBkb2N1bWVudC5oZWFkOwogICAgbm9kZS5hcHBlbmRDaGlsZChndG1zKTsKfSkoKTsKPC9zY3JpcHQ+CjxzY3JpcHQ+CiAgICB2YXIgZ29vZ2xldGFnID0gZ29vZ2xldGFnIHx8IHt9LAogICAgICAgIGdwdGFkc2xvdHMgPSBbXSwKICAgICAgICBsYW5ndWFnZSwKICAgICAgICBoYXNfdXBsb2FkZWQsCiAgICAgICAgY29ob3J0OwogICAgZ29vZ2xldGFnLmNtZCA9IGdvb2dsZXRhZy5jbWQgfHwgW107CgogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICAgICAgaWYgKGdkcHJDb29raWUgPT09ICctMScpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgICAgIHZhciBnYWRzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksCiAgICAgICAgICAgIHVzZVNTTCA9ICdodHRwczonID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sLAogICAgICAgICAgICBub2RlOwogICAgICAgIGdhZHMuYXN5bmMgPSB0cnVlOwogICAgICAgIGdhZHMudHlwZSA9IGFjdGl2ZUdyb3Vwcy5pbmRleE9mKCJDMDAwMiIpID09PSAtMSA/ICd0ZXh0L3BsYWluJyA6ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIGdhZHMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgICAgIGdhZHMuc3JjID0gKHVzZVNTTCA/ICdodHRwczonIDogJ2h0dHA6JykgKyAnLy93d3cuZ29vZ2xldGFnc2VydmljZXMuY29tL3RhZy9qcy9ncHQuanMnOwogICAgICAgIG5vZGUgPSBkb2N1bWVudC5oZWFkOwogICAgICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ2Fkcyk7CiAgICB9KSgpOwoKICAgIGdvb2dsZXRhZy5jbWQucHVzaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdwdGFkc2xvdHNbMF0gPSBnb29nbGV0YWcuZGVmaW5lU2xvdCgnLy81NDU0OTU0NC9jbGlwcycsIFtbOTcwLDI1MF0sWzcyOCw5MF0sWzMwMCwyNTBdLCJmbHVpZCJdLCAnZGl2LWdwdC1hZC0xMjgzMjU1NTIyJykuc2V0VGFyZ2V0aW5nKCdwJywgWydCVEYnXSk7CgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBncHRhZHNsb3RzWzBdLmFkZFNlcnZpY2UoZ29vZ2xldGFnLnB1YmFkcygpKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZSA9IGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKilsYW5ndWFnZVxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpOwogICAgICAgICAgICBoYXNfdXBsb2FkZWQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKWhhc191cGxvYWRlZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpKSA/ICdZJyA6ICdOJzsKICAgICAgICAgICAgY29uc2VudCA9IChkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdmltZW9fZ2Rwcl9vcHRpblxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpKSA9PT0gJy0xJyA/IDEgOiAwOwogICAgICAgICAgICBjb2hvcnQgPSAnQSc7CiAgICAgICAgCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbGFuZ3VhZ2UnLCBbbGFuZ3VhZ2VdKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdpc191cGxvYWRlcicsIFtoYXNfdXBsb2FkZWRdKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnQnLCBbY29ob3J0XSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0X2EnLCBbKGNvaG9ydCA9PT0gJ0EnKSA/ICdZJyA6ICdOJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9iJywgWyhjb2hvcnQgPT09ICdCJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdwcm9kdWN0JywgWycnXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc3RvcmFnZScsIFsnTiddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdzZWMnLCBbJ2ZhbHNlJ10pOwoKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdsb2dnZWRfaW4nLCBbJ2ZhbHNlJ10pOwoKICAgICAgICAgICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3JwdicsIChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMTAwKSsxKS50b1N0cmluZygpKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFJlcXVlc3ROb25QZXJzb25hbGl6ZWRBZHMoY29uc2VudCk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLmVuYWJsZUFzeW5jUmVuZGVyaW5nKCk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLmRpc2FibGVJbml0aWFsTG9hZCgpOwogICAgICAgIGdvb2dsZXRhZy5lbmFibGVTZXJ2aWNlcygpOwogICAgfSk7Cjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9hYmxpbmNvbG5fY29tYmluZWRfOTVhZjAzMzc5NGVjNTMxZjIxZjkzYWYzOTA2YWIzOGUubWluLmpzIj48L3NjcmlwdD4KCgoKICAgIDwvaGVhZD4KICAgIDxib2R5IGNsYXNzPSJvbnNpdGUgIj4KICAgICAgICA8ZGl2IGlkPSJ3cmFwIiBjbGFzcz0ib3V0ZXJfd3JhcCI+CiAgICAgICAgICAgIDxkaXYgaWQ9InRvcG5hdl9vdXRlcl93cmFwIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNyZWF0ZS1mYWNlYm9vay1oZWFkZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJWaW1lb0JyYW5kX0NvbG9yUmliYm9uICI+PC9kaXY+CgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKCjxzdHlsZT4KICAgIEAtd2Via2l0LWtleWZyYW1lcyByZWNvcmRfYW5pbWF0aW9uIHsKICAgICAgICAwJSwgMjAlLCA1MCUsIDgwJSwgMTAwJSB7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICAgIDQwJSB7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgIH0KICAgICAgICA2MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICB9CiAgICB9CgogICAgQGtleWZyYW1lcyByZWNvcmRfYW5pbWF0aW9uIHsKICAgICAgICAwJSwgMjAlLCA1MCUsIDgwJSwgMTAwJSB7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICAgIDQwJSB7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgIH0KICAgICAgICA2MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICB9CiAgICB9CgogICAgLmxvZ2dlZF9vdXRfcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgYW5pbWF0aW9uOiByZWNvcmRfYW5pbWF0aW9uIDEuNXMgLjI1cyA1OwogICAgfQoKICAgIC5sb2dnZWRfaW5fcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgYW5pbWF0aW9uOiByZWNvcmRfYW5pbWF0aW9uIDEuNXMgLjI1cyBpbmZpbml0ZTsKICAgIH0KCiAgICAubmV3X2xhYmVsIHsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBwYWRkaW5nOiAwIDJweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9Cgo8L3N0eWxlPgoKPHNjcmlwdD4KICAgIHdpbmRvdy52aW1lbyA9IHdpbmRvdy52aW1lbyB8fCB7fTsKPC9zY3JpcHQ+Cgo8ZGl2IGlkPSJ0b3BuYXZfZGVza3RvcCIgY2xhc3M9InRvcG5hdl9kZXNrdG9wICIgcm9sZT0iYmFubmVyIj4KICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3dyYXBwZXIgIj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbG9nbyIgaHJlZj0iLy92aW1lby5jb20iIGFsdD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBhcmlhLWxhYmVsPSJHbyB0byBWaW1lbyBob21lIHBhZ2UiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnZpbWVvX2hvbWUiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2hvbWVfY2xpY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3N0b2NrX2xvZ28iIGhyZWY9Ii9zdG9jayI+CiAgICAgICAgICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxNzAiIGhlaWdodD0iNDAiIGRhdGEtbmFtZT0iTGF5ZXIgMSIgdmlld0JveD0iMCAwIDc4MCAxMjAiPjxwYXRoIGQ9Ik00NzEuOSA3MC4zMWMtMTIuMTQtMi43NC0yNC4yOC0zLjktMjQuMjgtMTIgMC02LjUgOC44Mi03LjY2IDEzLjU5LTcuNjYgNy4yMiAwIDEzLjczIDIuMTcgMTUuMTcgMTBoMTcuMmMtMi0xNi42Mi0xNS45LTIzLTMxLjIyLTIzLTEzLjU4IDAtMzEuMjEgNS4wNS0zMS4yMSAyMS4zOCAwIDE1LjE3IDExLjg1IDE5LjUxIDI0IDIyLjExczI0IDMuNzYgMjQuNDIgMTIuNDNjLjQzIDguNTItMTAuNCA5LjgyLTE2LjYyIDkuODItOC44MSAwLTE2LTMuNDYtMTYuOS0xM2gtMTYuNDljLjI5IDE3LjYzIDE0LjMxIDI2IDMzLjA5IDI2IDE1LjQ2IDAgMzMuMzgtNi41IDMzLjM4LTI0LjI4LS4wMy0xNC43Mi0xMi4xNC0xOS4wNS0yNC4xMy0yMS44ek01MjUuNjYgMTcuMjhoLTE2LjQ4djIyLjRoLTEyLjQyVjUyaDEyLjQydjQ0Yy4yOSAxMi40MyAzLjQ3IDE5LjA4IDIwLjY3IDE5LjA4IDMuNjEgMCA3LjA4LS41OCAxMC42OS0uODd2LTEyLjY4YTI4LjUyIDI4LjUyIDAgMCAxLTYuOTQuNTdjLTcuMzcgMC03Ljk0LTMuNDctNy45NC0xMC4yNlY1MmgxNC44OFYzOS42OGgtMTQuODh6TTU4MC44NSAzNy42NmMtMjQgMC0zNy43MSAxNi40Ny0zNy43MSAzOS4zIDAgMjMgMTMuNzMgMzkuNDUgMzcuNzEgMzkuNDVTNjE4LjU3IDk5Ljk0IDYxOC41NyA3N2MwLTIyLjg3LTEzLjczLTM5LjM0LTM3LjcyLTM5LjM0em0wIDY1Ljc0Yy0xNC43MyAwLTIxLjI0LTEzLjQtMjEuMjQtMjYuNHM2LjUxLTI2LjMgMjEuMjQtMjYuM1M2MDIuMSA2NC4xIDYwMi4xIDc3cy02LjUxIDI2LjQtMjEuMjUgMjYuNHpNNjYyLjc5IDUwLjY2YzkuMSAwIDE1Ljc1IDQuOTEgMTcuMDUgMTRoMTYuNDdjLTEuNTktMTguMzUtMTYuMzMtMjctMzMuNjctMjctMjQuNTYgMC0zNi44NSAxNy42My0zNi44NSA0MC4xNyAwIDIyIDEyLjg2IDM4LjU4IDM2LjI3IDM4LjU4IDE5LjIyIDAgMzEuMjItMTAuNjkgMzQuMjUtMzAuMDZoLTE2LjQ3Yy0xLjU5IDEwLjctOC4yNCAxNy4wNS0xNy43OCAxNy4wNS0xNC4zIDAtMTkuNzktMTMuMTUtMTkuNzktMjUuNTcgMC0yMi42OSAxMS45OS0yNy4xNyAyMC41Mi0yNy4xN3pNNzQyLjI2IDY3LjEzbDI4LjYxLTI3LjQ1aC0yMC4yM2wtMjkuNzYgMzAuMlYxMS4yMUg3MDQuNHYxMDMuMThoMTYuNDhWODcuNjVsOS44Mi05LjUzIDIyLjgzIDM2LjI3aDIwLjA5bC0zMS4zNi00Ny4yNnoiIGZpbGw9IiNmZmYiPjwvcGF0aD48cGF0aCBkPSJNMTE3LjI1IDI2LjcyYTE4LjM3IDE4LjM3IDAgMCAwIDEzLjE0LTUuMzFxNC45Mi00LjY5IDUuMTMtOS44YTkuNjIgOS42MiAwIDAgMC0yLjY3LTYuODQgOS4wOCA5LjA4IDAgMCAwLTcuMTgtMy4zNyAyMC45MSAyMC45MSAwIDAgMC0xMy40NSA0LjlxLTYuMDYgNC45MS02LjI2IDEwLjIxLS40IDEwLjIyIDExLjI5IDEwLjIxek0zODYuMTIgMzguMjVxLTIyLjM4IDAtMzcuMTUgMTYuMzlRMzM1LjIgNjkuNCAzMzYuMjQgODdjLjA1Ljg2LjEyIDEuNy4yMiAyLjUzbC0xLjU0LjY4cS0xNy40NiA3LjUyLTMyLjIzIDcuNTEtNy40IDAtMTEuMDktNS4xMiAxOS45LTMuMjcgMzMtMTUuMzUgMTIuNC0xMS4wMyAxMS41NC0yMS40Ny0xLjIzLTE2LjM3LTIxLjM0LTE2LjM4LTIxLjggMC0zNy44IDE2LjQyLTE0LjU2IDE1LTE0Ljc3IDMxLjZhMzcuNTcgMzcuNTcgMCAwIDAgLjI3IDUuMzdjLTIuMjkgMS41MS00IDIuMjctNS4yIDIuMjdxLTMuOSAwLTQuOTItMS42M2MtLjY5LTEuMDktMS0zLjA2LS44My01LjkzcTAtMS42NCAyLjU3LTEyLjU3dDIuNzctMTYuNjdxLjQtOC4zNy0zLjI4LTEyLjg4LTQuMzItNS41Mi0xNC4xNy00LjdhMzAuNDIgMzAuNDIgMCAwIDAtMTUuOCA2LjE2IDU0LjU3IDU0LjU3IDAgMCAwLTkuMjMgOC44MmMtMS4xIDEtMi4xMiAxLjg2LTMuMDggMi42N3EuMTktOC40MS0zLjI4LTEyLjkzLTQuMzItNS41My0xNC4zOC00LjcyYTM2LjQ2IDM2LjQ2IDAgMCAwLTIxLjEzIDkuMjQgMzcuNjcgMzcuNjcgMCAwIDAtNy4xOSA4LjIxIDE4LjE1IDE4LjE1IDAgMCAwIC40MS0zLjlBMTkuNDIgMTkuNDIgMCAwIDAgMTYyLjUgNDNxLTMuMjgtNC44Mi04LjYyLTQuNDEtMy4wNy4yMS0xMS42OSA4LjIxLTExLjkxIDExLjA4LTEyLjkzIDExLjlsNC45MiA1LjU0YzMuODMtMi43NiA2LjE2LTQuMTUgNy00LjE1cTIuMjUgMCAxLjg1IDMuNjhhMTE0LjExIDExNC4xMSAwIDAgMS0xLjg5IDE0Ljg0Yy0uNyAzLjk0LTEuMiA3LjMzLTEuNTIgMTAuMTlsLS4xOC4xNXEtNy4zOSA2LjA4LTEwLjI2IDYuMDdjLTQuMzggMC02LjUtMi45Mi02LjM3LTguNzlxMy4wOC0xOS4yMiA1Ljc2LTMxLjY5LjgxLTcuMzYtMi4zNy0xMnQtMTAtNHEtNC4zMi40LTEzLjE0IDguMjFMOTcgNTIuMzljLS40MS05LjY4LTQuODItMTQuNjYtMTMuMjgtMTQuOTFxLTE5LS42LTI1Ljc0IDIxLjQ2YTE3LjE5IDE3LjE5IDAgMCAxIDYuNzYtMS41cTcgMCA2LjE2IDcuODQtLjQ2IDQuNzItNi4yIDEzLjgxdC04LjYyIDkuMDZxLTMuNjkgMC02Ljc3LTE0LTEtNC4xMS0zLjY5LTIxLTIuNDctMTUuNTQtMTMuMTQtMTQuNTJRMjggMzkgMTguOTQgNDYuODRxLTYuNTcgNi0xMy4zNCAxMS45bDQuMyA1LjU0UTE2LjA1IDYwIDE3LjA3IDYwcTQuNzEgMCA4LjgxIDE0Ljc2bDcuMzggMjcuMDZxNS41MiAxNC43NiAxMy41MSAxNC43NiAxMi45MiAwIDMxLjU1LTI0LjI0IDEzLjEtMTYuODQgMTctMjguNWMzLjQ0LTIuNTUgNS41Ny0zLjg0IDYuMzUtMy44NHEzLjY5IDAgMy42OSA1LjMzIDAgMS00IDE1LjE4dC00LjIgMjAuOTJxLS4yMSA2LjU3IDMuMTggMTAuNjZjMi4yNSAyLjc0IDUuNTEgNC4xMSA5Ljc1IDQuMTFxMTMuNzUgMCAyNy41LTExLjljLjgyLS43MSAxLjYxLTEuNDQgMi4zOS0yLjE4YTE2LjUxIDE2LjUxIDAgMCAwIDMuNzcgNy41NnE1LjkzIDYuMzQgMjAgNS45My0xLjg5LTQuNTItMS40Ny0xNmE1OS43IDU5LjcgMCAwIDEgNi41Ny0yNC40M3E2LTExLjY4IDExLjEtMTEuNyA2IDAgNS41NSA3LjU5YTUzLjEzIDUzLjEzIDAgMCAxLTIgMTEuNzEgNTUuMjMgNTUuMjMgMCAwIDAtMiAxMy4xM3EtLjQxIDEwLjQ3IDQuNzEgMTUgNS43MyA1LjEzIDIwLjA1IDQuNzItMi4xMy00LjcxLTEuNzItMTMuNTQuNi0xMi41MiA4LjQ0LTI1Ljg2IDcuNDEtMTIuNzIgMTIuNzYtMTIuNzMgNSAwIDQuNzQgNy44YTc0Ljk0IDc0Ljk0IDAgMCAxLTIuNTYgMTQuMzYgNzQuNjEgNzQuNjEgMCAwIDAtMi41NyAxNS43OXEtLjQxIDE0Ljc4IDEyLjk0IDE0Ljc3IDEzLjc0IDAgMjcuNS0xMS45bC40NC0uNGMuMzIuNTQuNjQgMS4wOCAxIDEuNnE3LjE5IDExLjA4IDIzLjgxIDExLjA4IDIyLjM2IDAgNDQuMTMtMTIuNWMxLjYzLS45MiAzLjE3LTEuODMgNC42NS0yLjc1YTI5LjQzIDI5LjQzIDAgMCAwIDMuMjQgNS4xOHE4LjQyIDEwLjQ1IDI0LjYzIDEwLjQ1IDE5LjUgMCAzMi42NC0xMy43M2E0OC43OSA0OC43OSAwIDAgMCAxNC0zMi41OHEuNjEtMTMuOTMtNi4zNi0yMi43NS03LjQ5LTkuNjUtMjEuODUtOS42N3ptLTk3Ljc2IDQ2LjU2YTExLjEyIDExLjEyIDAgMCAxIDAtMi42NnEuMTktNy43NSA2LjU1LTE2LjIzdDEyLjUtOC40OGMzLjE1IDAgNC42NSAxLjg1IDQuNTEgNS41MnEtLjE5IDQuMDgtNi4xNCAxMC42MmE0Ni4yNSA0Ni4yNSAwIDAgMS0xNy40MiAxMS4yM3pNMzkxIDY5Ljg1YTM5IDM5IDAgMCAxLTYgMTguOTJxLTYuNTcgMTAuOTEtMTUuODEgMTAuOS00LjExIDAtNi4zNi00LjUyYTE3LjY2IDE3LjY2IDAgMCAxLTEuODUtOS4wNSAzOS44MSAzOS44MSAwIDAgMSA2LjE2LTE5Ljc0cTYuODYtMTEuMzEgMTcuMzMtMTEuMzFjMi4xOSAwIDMuODYgMS41NCA1IDQuNjNBMjUuODIgMjUuODIgMCAwIDEgMzkxIDY5Ljg1eiIgZmlsbD0iIzAwYWRlZiI+PC9wYXRoPjwvc3ZnPgogICAgICAgICAgICA8L2E+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmF2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51ICIgcm9sZT0ibmF2aWdhdGlvbiIgYXJpYS1sYWJlbD0iTWFpbiBtZW51Ij4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0idG9wbmF2X21lbnVfZGVza3RvcF9tYWluIiByb2xlPSJtZW51YmFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InNvbHV0aW9ucyIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uLWltcHJlc3Npb249Y29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc19tZW51fGtleXdvcmQ6c29sdXRpb25zX2hvdmVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iZXZlbnQucHJldmVudERlZmF1bHQoKTtldmVudC50YXJnZXQuYmx1cigpOyIgY2xhc3M9InRvcG5hdl9tZW51X25vX2xpbmsgdG9wbmF2X2hhc19kcm9wZG93biIgaHJlZj0iIyIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfc29sdXRpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb2x1dGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfc29sdXRpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJyb3dfZWxlbWVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgc29sdXRpb25zX21lbnUiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0gc29sdXRpb25zX21lbnUiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOnZpZGVvX21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdmlkZW9fbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvbWFya2V0aW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOnZpZGVvX21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdmlkZW9fbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iVmlkZW8gbWFya2V0aW5nIj5WaWRlbyBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+UG93ZXIgeW91ciBtYXJrZXRpbmcgc3RyYXRlZ3kgd2l0aCBwZXJmZWN0bHkgYnJhbmRlZCB2aWRlb3MgdG8gZHJpdmUgYmV0dGVyIFJPSS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgc29sdXRpb25zX21lbnUiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0gc29sdXRpb25zX21lbnUiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZXZlbnRfbWFya2V0aW5nIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ldmVudF9tYXJrZXRpbmciIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFdmVudCBtYXJrZXRpbmciPkV2ZW50IG1hcmtldGluZzwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fb3B0aW9uIGRlc2NyaXB0aW9uIj5Ib3N0IHZpcnR1YWwgZXZlbnRzIGFuZCB3ZWJpbmFycyB0byBpbmNyZWFzZSBlbmdhZ2VtZW50IGFuZCBnZW5lcmF0ZSBsZWFkcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgc29sdXRpb25zX21lbnUiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0gc29sdXRpb25zX21lbnUiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmVtcGxveWVlX2NvbW11bmljYXRpb25zIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9lbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL2NvbW11bmljYXRpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmVtcGxveWVlX2NvbW11bmljYXRpb25zIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9lbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IkVtcGxveWVlIGNvbW11bmljYXRpb24iPkVtcGxveWVlIGNvbW11bmljYXRpb248L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SW5zcGlyZSBlbXBsb3llZXMgd2l0aCBjb21wZWxsaW5nIGxpdmUgYW5kIG9uLWRlbWFuZCB2aWRlbyBleHBlcmllbmNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgc29sdXRpb25zX21lbnUiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0gc29sdXRpb25zX21lbnUiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOnZpZGVvX21vbmV0aXphdGlvbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdmlkZW9fbW9uZXRpemF0aW9uIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlkZW8tbW9uZXRpemF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOnZpZGVvX21vbmV0aXphdGlvbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdmlkZW9fbW9uZXRpemF0aW9uIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iVmlkZW8gbW9uZXRpemF0aW9uIj5WaWRlbyBtb25ldGl6YXRpb248L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJmZWF0dXJlcyIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uLWltcHJlc3Npb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19tZW51fGtleXdvcmQ6bGl2ZXN0cmVhbV9oaWdobGlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iZXZlbnQucHJldmVudERlZmF1bHQoKTtldmVudC50YXJnZXQuYmx1cigpOyIgY2xhc3M9InRvcG5hdl9tZW51X25vX2xpbmsgdG9wbmF2X2hhc19kcm9wZG93biIgZGF0YS1icC1ob3Zlcj0ibG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9nbG9iYWxfbmF2X29wdGlvbnxjb3B5OmZlYXR1cmVzfGZlYXR1cmU6ZmVhdHVyZXMiIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2ZlYXR1cmVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGZWF0dXJlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsICIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyID5DcmVhdGU8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6aW50ZXJhY3RpdmVfdmlkZW8iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlb3xjb3B5OkludGVyYWN0aXZlIHZpZGVvfGZlYXR1cmU6Y3JlYXRlX2ludGVyYWN0aXZlfHRhcmdldF9wYXRoOi9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyIgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIj5JbnRlcmFjdGl2ZSB2aWRlbzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPkxpdmUgc3RyZWFtPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9zY3JlZW4tcmVjb3JkZXJ8Y29weTpTY3JlZW4gcmVjb3JkZXJ8ZmVhdHVyZTpjcmVhdGVfcmVjb3JkfHRhcmdldF9wYXRoOi9mZWF0dXJlcy9zY3JlZW4tcmVjb3JkZXIiIGhyZWY9Ii9mZWF0dXJlcy9zY3JlZW4tcmVjb3JkZXIiPlNjcmVlbiByZWNvcmRlcjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6Y3JlYXRlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY3JlYXRlfGNvcHk6Q3JlYXRlIHZpZGVvIG1ha2VyfGZlYXR1cmU6Y3JlYXRlX3ZpbWVvX2NyZWF0ZXx0YXJnZXRfcGF0aDovY3JlYXRlIiBocmVmPSIvY3JlYXRlIj5DcmVhdGUgdmlkZW8gbWFrZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPk9ubGluZSB2aWRlbyBlZGl0b3I8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmZvcl9oaXJlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZm9yLWhpcmV8Y29weTpIaXJlIGEgdmlkZW8gcHJvfGZlYXR1cmU6Y3JlYXRlX2hpcmV8dGFyZ2V0X3BhdGg6L2Zvci1oaXJlIiBocmVmPSIvZm9yLWhpcmUiPkhpcmUgYSB2aWRlbyBwcm88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsICIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyID5NYW5hZ2U8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fbGlicmFyeSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnk/bWtjPTM2OGlwX2ZtX3ZsfGNvcHk6VmlkZW8gbGlicmFyeXxmZWF0dXJlOm1hbmFnZV9saWJyYXJ5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnk/bWtjPTM2OGlwX2ZtX3ZsIj5WaWRlbyBsaWJyYXJ5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19wbGF5ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZXxjb3B5OkFkLWZyZWUgcGxheWVyfGZlYXR1cmU6bWFuYWdlX2FkZF9mcmVlX3BsYXllcnx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSI+QWQtZnJlZSBwbGF5ZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+VmlkZW8gaG9zdGluZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6cHJpdmFjeSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXByaXZhY3k/bWtjPTM2OGlwX2ZtX3ByaXZhY3l8Y29weTpQcml2YWN5fGZlYXR1cmU6bWFuYWdlX3ByaXZhY3l8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXByaXZhY3k/bWtjPTM2OGlwX2ZtX3ByaXZhY3kiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5Ij5Qcml2YWN5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+R3JvdzwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnN8Y29weTpTbWFsbCBidXNpbmVzc3xmZWF0dXJlOmdyb3dfc21hbGxfYnVzaW5lc3N8dGFyZ2V0X3BhdGg6L3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiIGhyZWY9Ii9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIj5TbWFsbCBidXNpbmVzczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6ZW50ZXJwcmlzZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3d8Y29weTpFbnRlcnByaXNlfGZlYXR1cmU6Z3Jvd19lbnRlcnByaXNlfHRhcmdldF9wYXRoOi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93IiBocmVmPSIvZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyI+RW50ZXJwcmlzZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+V2ViaW5hcnM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmFuYWx5dGljcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLWFuYWx5dGljcz9ta2M9MzY4aXBfZmdfYW5hbHl6ZXxjb3B5OlZpZGVvIGFuYWx5dGljc3xmZWF0dXJlOmdyb3dfYW5hbHl0aWNzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emUiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emUiPlZpZGVvIGFuYWx5dGljczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bW9uZXRpemF0aW9uIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovb3R0P21rYz1lbnRwcnNifGNvcHk6VmlkZW8gbW9uZXRpemF0aW9ufGZlYXR1cmU6Z3Jvd19vdHR8dGFyZ2V0X3BhdGg6L290dD9ta2M9ZW50cHJzYiIgaHJlZj0iL290dD9ta2M9ZW50cHJzYiI+VmlkZW8gbW9uZXRpemF0aW9uPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGlnaGxpZ2h0c19iYW5uZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYmFubmVyX2hlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERU1PIFZJREVPUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImJhbm5lcl9tYWluX3RleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZXQgdG8ga25vdyBldmVyeXRoaW5nIFZpbWVvIGNhbiBkbyBmb3IgeW91ciBidXNpbmVzcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2VudGVycHJpc2Uvd2F0Y2gtZGVtbz9ta2M9MzY4LXR2LXdkIiBjbGFzcz0iYmFubmVyX2J1dHRvbiBiYW5uZXJfYnV0dG9uX3RleHQiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmZlYXR1cmVzX2hpZ2hsaWdodHxrZXl3b3JkOndhdGNoX2RlbW8iPldhdGNoIG5vdzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJyZXNvdXJjZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfbWVudXxrZXl3b3JkOnJlc291cmNlc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpyZXNvdXJjZXN8ZmVhdHVyZTpyZXNvdXJjZXMiIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3Jlc291cmNlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3Jlc291cmNlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsICIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyID5MZWFybjwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj5WaW1lbyBibG9nPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6dmlkZW9fc2Nob29sIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9pbnNwaXJhdGlvbl92aWRlb19zY2hvb2wiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2x8Y29weTpWaWRlbyBTY2hvb2x8ZmVhdHVyZTpsZWFybl92aWRlb19zY2hvb2x8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIiBocmVmPSIvYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wiPlZpZGVvIFNjaG9vbDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfbGVhcm58a2V5d29yZDpjdXN0b21lcl9zdG9yaWVzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeXxjb3B5OkN1c3RvbWVyIHN0b3JpZXN8ZmVhdHVyZTpsZWFybl9jdXN0b21lcl9zdG9yaWVzfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHkiIGhyZWY9Ii9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHkiPkN1c3RvbWVyIHN0b3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj5JbnZlc3RvciBSZWxhdGlvbnM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsICIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyID5Db25uZWN0PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+RGV2ZWxvcGVyIHRvb2xzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6cGFydG5lcl9wcm9ncmFtIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3BhcnRuZXJzfGNvcHk6UGFydG5lciBwcm9ncmFtfGZlYXR1cmU6Y29ubmVjdF9wYXJ0bmVyX3Byb2dyYW18dGFyZ2V0X3BhdGg6L3BhcnRuZXJzIiBocmVmPSIvcGFydG5lcnMiPlBhcnRuZXIgcHJvZ3JhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOmNyZWF0aXZlX2NvbW11bml0eSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9leHBlcnRzfGNvcHk6Q3JlYXRpdmUgY29tbXVuaXR5fGZlYXR1cmU6Y29ubmVjdF9jcmVhdGl2ZV9jb21tdW5pdHl8dGFyZ2V0X3BhdGg6L2V4cGVydHMiIGhyZWY9Ii9leHBlcnRzIj5DcmVhdGl2ZSBjb21tdW5pdHk8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+SGVscCBjZW50ZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9IndhdGNoIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2hhc19kcm9wZG93biIgZGF0YS1icC1ob3Zlcj0ibG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9nbG9iYWxfbmF2X29wdGlvbnxjb3B5OndhdGNofGZlYXR1cmU6d2F0Y2giIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXYXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iY29sdW1uX2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Ym90eScgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYm90eV9jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jlc3RvZnRoZXllYXJ8Y29weTpCZXN0IG9mIHRoZSBZZWFyfGZlYXR1cmU6YmVzdF9vZl90aGVfeWVhcnx0YXJnZXRfcGF0aDovYmVzdG9mdGhleWVhcicgaHJlZj0iL2Jlc3RvZnRoZXllYXIiPkJlc3Qgb2YgdGhlIFllYXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSd0b3BuYXZfd2F0Y2hfaXRlbScgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpicm93c2VfdmlkZW9zJyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9icm93c2VfdmlkZW9zX2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovd2F0Y2h8Y29weTpCcm93c2UgVmlkZW9zfGZlYXR1cmU6YnJvd3NlX3ZpZGVvc3x0YXJnZXRfcGF0aDovd2F0Y2gnIGhyZWY9Ii93YXRjaCI+QnJvd3NlIFZpZGVvczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOnN0YWZmX3BpY2tzIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl93YXRjaF9zdGFmZl9waWNrc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NoYW5uZWxzL3N0YWZmcGlja3N8Y29weTpTdGFmZiBQaWNrc3xmZWF0dXJlOnN0YWZmX3BpY2tzfHRhcmdldF9wYXRoOi9jaGFubmVscy9zdGFmZnBpY2tzIiBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyI+U3RhZmYgUGlja3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjYXRlZ29yaWVzIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl93YXRjaF9jYXRlZ29yaWVzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2F0ZWdvcmllc3xjb3B5OkNhdGVnb3JpZXN8ZmVhdHVyZTpjYXRlZ29yaWVzfHRhcmdldF9wYXRoOi9jYXRlZ29yaWVzIiBocmVmPSIvY2F0ZWdvcmllcyI+Q2F0ZWdvcmllczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNoYW5uZWxzIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl93YXRjaF9jaGFubmVsc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NoYW5uZWxzfGNvcHk6Q2hhbm5lbHN8ZmVhdHVyZTpjaGFubmVsc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMiIGhyZWY9Ii9jaGFubmVscyI+Q2hhbm5lbHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpvbl9kZW1hbmQiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X29uZGVtYW5kX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovb25kZW1hbmR8Y29weTpPbiBEZW1hbmR8ZmVhdHVyZTpvbl9kZW1hbmR8dGFyZ2V0X3BhdGg6L29uZGVtYW5kIiBocmVmPSIvb25kZW1hbmQiPk9uIERlbWFuZDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icHJpY2luZyIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfcHJpY2luZ19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJpY2luZyJkYXRhLWJwLWNsaWNrPWxvY2F0aW9uOmdsb2JhbF9uYXZ8dGFyZ2V0OnVwZ3JhZGVfcGFnZXxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnxjb3B5OnVwZ3JhZGV8ZmVhdHVyZTp1cGdyYWRlfHRhcmdldF9wYXRoOi91cGdyYWRlIGhyZWY9Ii91cGdyYWRlIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9wcmljaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmljaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iY29udGFjdF9zYWxlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfY29udGFjdF9zYWxlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGFjdCBTYWxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9uYXY+PCEtLSAvLnRvcG5hdl9kZXNrdG9wX21lbnUgLS0+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfbWVudV9zZWFyY2hfb21uaXNlYXJjaCIgY2xhc3M9InRvcG5hdl9tZW51X29tbmlzZWFyY2ggIiBkYXRhLXF1ZXJ5PSIiIGRhdGEtcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tZW51X3JpZ2h0ICI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0idG9wbmF2X21lbnVfZGVza3RvcF9tYWluIiByb2xlPSJtZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0ibG9naW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ianMtdG9wbmF2X21lbnVfYXV0aCIgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlSm9pbkxvZ2luRjJQKSB7IGhhbmRsZUpvaW5Mb2dpbkYyUChldmVudCwgYGxvZ19pbmAsIHRydWUpOyB9fSkoZXZlbnQpIiBkYXRhLWdhLWV2ZW50LWNsaWNrPSJ0b3BfbmF2fGxvZ2luIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGhyZWY9Ii9sb2dfaW4iIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2xvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvZyBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19yaWdodCIgZGF0YS1tZW51LWlkPSJqb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9tZW51X2pvaW4ganMtdG9wbmF2X21lbnVfYXV0aCIgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlSm9pbkxvZ2luRjJQKSB7IGhhbmRsZUpvaW5Mb2dpbkYyUChldmVudCwgYGpvaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxqb2luIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaHJlZj0iL2pvaW4iIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSm9pbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0icmVjb3JkX3RpcF93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3ZlciIgb25Nb3VzZWVudGVyPSJ0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKCd2YXJpYW50X3NjcmVlbicpIj4KICAgIDxidXR0b24KICAgICAgICBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX2J1dHRvbiIKICAgICAgICBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9idXR0b24gaXJpc19idG4tLXByaW1hcnkiCiAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvIgogICAgICAgIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZ8dGFyZ2V0OnVwbG9hZF9wYWdlfG5hbWU6bmV3X3ZpZGVvfGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6Z2xvYmFsX25hdl9uZXdfdmlkZW98dGFyZ2V0X3BhdGg6L3VwbG9hZCcKICAgICAgICBkYXRhLWJwLWhvdmVyPSdsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX25ld192aWRlb19vcHRpb258Y29weTpuZXdfdmlkZW98ZmVhdHVyZTpuZXdfdmlkZW8nCiAgICAgICAgb25jbGljaz0iaGFuZGxlTmV3VmlkZW9DbGljaygpIgogICAgPgogICAgICAgIDxzcGFuIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX3NwYW5fd3JhcHBlciI+CiAgICAgICAgICAgIE5ldyB2aWRlbyAgICAgICAgICAgIDxzcGFuIGlkPSJyZWNvcmRfYW5pbWF0aW9uX3dyYXBwZXIiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX3NwYW5fdmFyaWFudCI+CiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiNmZmZmZmYiCiAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICAKICAgICAgICAgICAgPHVsIGlkPSJuZXdfdmlkZW9fZHJvcGRvd25fdmFyaWFudCIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gY29sdW1uX2VsZW1lbnRzIHRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfZHJvcGRvd25fdmFyaWFudCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwYWRkaW5nOiB1bnNldDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSIoZnVuY3Rpb24oZXZlbnQpIHsgaWYgKHdpbmRvdy5oYW5kbGVVcGxvYWRCdXR0b25DbGljaykgeyBoYW5kbGVVcGxvYWRCdXR0b25DbGljayhldmVudCk7IH19KShldmVudCkiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOnsnYWN0aW9uJzondXBsb2FkJ318dGFyZ2V0Oi91cGxvYWR8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDp1cGxvYWRfcGFnZXxjb3B5OlVwbG9hZHxmZWF0dXJlOnVwbG9hZHx0YXJnZXRfcGF0aDovdXBsb2FkIiBpZD0idG9wbmF2X2Rlc2t0b3BfdXBsb2FkX2J1dHRvbiIgaHJlZj0iL3VwbG9hZCIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTggOC40OGE3LjE2IDcuMTYgMCAwIDAtMS44NC00Ljc2QTUuODEgNS44MSAwIDAgMCA2LjkyIDVhNS4yNCA1LjI0IDAgMCAwLTQuNjkgMy44NUE0LjkxIDQuOTEgMCAwIDAgMCAxM2E1LjEzIDUuMTMgMCAwIDAgNSA1aDEwYTUuMSA1LjEgMCAwIDAgNS00Ljk0IDUuODkgNS44OSAwIDAgMC0yLTQuNTh6TTE1IDE2aC00di0zLjU5bDEuMjkgMS4yOSAxLjQxLTEuNDEtMy43LTMuNy0zLjcxIDMuN0w3LjcgMTMuNyA5IDEyLjQxVjE2SDVhMy4xNiAzLjE2IDAgMCAxLTMtMyAyLjkxIDIuOTEgMCAwIDEgMS41Mi0yLjU4bC40LS4yLjA4LS40NEEzLjM4IDMuMzggMCAwIDEgNy41OSA3aC43bC4yNC0uNjZBMy42OSAzLjY5IDAgMCAxIDEyIDRhMy43MyAzLjczIDAgMCAxIDIuNzIgMS4xMkE1LjQ1IDUuNDUgMCAwIDEgMTYgOXYuNTRsLjQ1LjNBMy43OSAzLjc5IDAgMCAxIDE4IDEzLjA2IDMuMDkgMy4wOSAwIDAgMSAxNSAxNnoiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXBsb2FkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J2NyZWF0ZSd9fHRhcmdldDovY3JlYXRlL3RlbXBsYXRlc3x0eXBlOmNsaWNrImRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OmNyZWF0ZV9ob21lcGFnZXxjb3B5OmNyZWF0ZV92aWRlb3xmZWF0dXJlOnZpbWVvX2NyZWF0ZXx0YXJnZXRfcGF0aDovY3JlYXRlL3RlbXBsYXRlcyIgaWQ9InRvcG5hdl9kZXNrdG9wX2NyZWF0ZV92aWRlb19idXR0b24iIGhyZWY9Ii9jcmVhdGUvdGVtcGxhdGVzIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMy4yIDE2LjhsMy44LTEgMTAtMTBjLjItLjIuMi0uNSAwLS43TDE0LjkgM2MtLjItLjItLjUtLjItLjcgMGwtMi4xIDIuMSAyLjggMi44TDEzLjggOSAxMSA2LjIgNC4yIDEzbC0xIDMuOHptOS45LTE0LjljLjgtLjggMi0uOCAyLjggMEwxOC4xIDRjLjguOC44IDIgMCAyLjhMNy44IDE3LjJsLTUuNiAxLjVjLS41LjEtLjktLjItLjctLjdsMS40LTUuN0wxMy4xIDEuOXoiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOnNjcmVlbl9yZWNvcmR8dHlwZTpjbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dmltZW9fcmVjb3JkfGNvcHk6cmVjb3JkX3NjcmVlbnxmZWF0dXJlOnJlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBkYXRhLXNjcmVlbi1yZWNvcmRlci1jdGE9IiIgaWQ9InRvcG5hdl9kZXNrdG9wX3JlY29yZF9zY3JlZW5fYnV0dG9uIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb24tMjRweCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJPdmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci0yKSIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIHN0cm9rZT0iIzFBMkUzQiIgc3Ryb2tlLXdpZHRoPSIyIiBjeD0iMTIiIGN5PSIxMiIgcj0iOSI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZSIgZmlsbD0iIzFBMkUzQiIgeD0iOCIgeT0iOCIgd2lkdGg9IjgiIGhlaWdodD0iOCIgcng9IjQiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY29yZCBzY3JlZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6bGl2ZV91bmlmaWVkX2V2ZW50X2VudHJ5ImRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OmxpdmVfZXZlbnRfc2V0dGluZ3N8Y29weTpDcmVhdGUgRXZlbnR8ZmVhdHVyZTpsaXZlfHRhcmdldF9wYXRoOi8vdmltZW8uY29tL2xpdmUvc2VsZWN0P2xvY2F0aW9uPXRvcF9uYXZfY2xhc3NpY192bSIgaWQ9InRvcF9uYXZfdW5pZmllZF9jcmVhdGVfZXZlbnRfYnV0dG9uIiBocmVmPSIvL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDE0IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgZD0iTTE5IDFoLTEuNDlhMSAxIDAgMDAtLjcyLjNMMTQgNC4xOFYyYTIgMiAwIDAwLTItMkgyYTIgMiAwIDAwLTIgMnYxMGEyIDIgMCAwMDIgMmgxMGEyIDIgMCAwMDItMlY5LjgybDIuOCAyLjg3YTEgMSAwIDAwLjcyLjNIMTlhMSAxIDAgMDAxLTFWMmExIDEgMCAwMC0xLTF6bS03IDExSDJWMmgxMHptNi0xaC0uMDZMMTQgN2wzLjg5LTRIMTh6IgogICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGUgZXZlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iY2FydF90b3BfbmF2IiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfbWVudV9yaWdodCAtLT4KICAgICAgICAgICAgPC9kaXY+PCEtLSAvLnRvcG5hdl9kZXNrdG9wX3dyYXBwZXIgLS0+CjwvZGl2PgoKICAgIDxzY3JpcHQ+CiAgICAgICAgdmFyIGlzTW9iaWxlID0gL2lwaG9uZXxpcG9kfGFuZHJvaWR8d2Vib3N8YmxhY2tiZXJyeXx3aW5kb3dzIHBob25lL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkpOwoKICAgICAgICAvLyBETyBOT1QgUkVNT1ZFLiBUaGlzIGlzIGEgY2FsbGJhY2sgZm9yIHRoZSBsb2dpbiAmIGpvaW4gYnV0dG9ucyBpbiBUb3BOYXZCdWlsZGVyLgogICAgICAgIGZ1bmN0aW9uIGNvbXBsZXRlVXNlckxvZ2luKHJlc3BvbnNlKSB7CiAgICAgICAgICAgIGlmIChyZXNwb25zZSAmJiAhcmVzcG9uc2Uuc2lnbnVwKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHRyYWNrSm9pbkxvZ2luQlAoYXV0aFR5cGUsIGV2ZW50TmFtZSwgYWN0aW9uVHlwZSwgaXNGaW5hbEFjdGlvbikgewogICAgICAgICAgICB2YXIgcmVmZXJyZXIgPSBkb2N1bWVudC5yZWZlcnJlcjsKICAgICAgICAgICAgaWYoQlAgJiYgQlAudHJhY2tFdmVudCkgewogICAgICAgICAgICAgICAgQlAudHJhY2tFdmVudCgndmltZW8uYXV0aF9mbG93X2FjdGlvbicsIDQsIHsKICAgICAgICAgICAgICAgICAgICBldmVudF9uYW1lOiBldmVudE5hbWUsCiAgICAgICAgICAgICAgICAgICAgYXV0aF90eXBlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICBhY3Rpb25fdHlwZTogYWN0aW9uVHlwZSwKICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VfdmVyc2lvbjogJ2xlZ2FjeScsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3R5cGU6ICdtb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaXNfZmluYWxfYWN0aW9uOiBpc0ZpbmFsQWN0aW9uLAogICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uOiBgJHthdXRoVHlwZX1fbW9kYWxgLAogICAgICAgICAgICAgICAgICAgIGZlYXR1cmU6IGF1dGhUeXBlLAogICAgICAgICAgICAgICAgICAgIHJlZmVycmVyLAogICAgICAgICAgICAgICAgICAgIHJlZmVycmVyX3BhdGg6IHJlZmVycmVyID8gcmVmZXJyZXIucmVwbGFjZSgvXi4qXC9cL1teXC9dKy8sICcnKSA6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgY29weTogbnVsbCwKICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X3BhdGg6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGhpcmRfcGFydHlfaW50ZWdyYXRpb246IG51bGwsCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBsb2FkQ29va2llKGtleSkgewogICAgICAgICAgICBsZXQgY29va2llID0ge307CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpLmZvckVhY2goZnVuY3Rpb24gKGVsKSB7CiAgICAgICAgICAgICAgICBsZXQgW2tleSwgdmFsdWVdID0gZWwuc3BsaXQoJz0nKTsKICAgICAgICAgICAgICAgIGNvb2tpZVtrZXkudHJpbSgpXSA9IHZhbHVlOwogICAgICAgICAgICB9KQogICAgICAgICAgICByZXR1cm4gY29va2llW2tleV07CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBzYXZlQ29va2llKG5hbWUsIHZhbHVlLCBkYXlzID0gbnVsbCkgewogICAgICAgICAgICBsZXQgY29va2llID0gYCR7bmFtZX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsdWUpfWA7CiAgICAgICAgICAgIGlmICh0eXBlb2YgZGF5cyA9PT0gIm51bWJlciIpIHsKICAgICAgICAgICAgICAgIGNvb2tpZSArPSBgOyBtYXgtYWdlPSR7KGRheXMgKiAyNCAqIDYwICogNjApfWA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZG9jdW1lbnQuY29va2llID0gY29va2llOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gX2dldEYycFRlc3RBc3NpZ25tZW50KCkgewogICAgICAgICAgICBpZiAod2luZG93ICYmIHdpbmRvdy5BQkxpbmNvbG4pIHsKICAgICAgICAgICAgICAgIHJldHVybiB3aW5kb3cuQUJMaW5jb2xuLmdldFRlc3QoJ0pTLkYyUC5QaWxvdCcpLmdldCgnZjJwJywgJycpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZUpvaW5Mb2dpbkYyUChldmVudCwgdHlwZSwgY29tcGxldGVMb2dpbiA9IHRydWUsIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmKGV2ZW50KSBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2YXIgRjJQX0JVQ0tFVF9DT09LSUUgPSAnZjJwX3BpbG90X2J1Y2tldCc7CiAgICAgICAgICAgIHZhciBmMnBDb29raWUgPSBsb2FkQ29va2llKEYyUF9CVUNLRVRfQ09PS0lFKTsKICAgICAgICAgICAgdmFyIGpvaW5fYnVja2V0OwogICAgICAgICAgICBpZiAoZjJwQ29va2llICYmIGYycENvb2tpZS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIGpvaW5fYnVja2V0ID0gZjJwQ29va2llOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGJ1Y2tldCA9IF9nZXRGMnBUZXN0QXNzaWdubWVudCgpOwogICAgICAgICAgICAgICAgaWYgKGJ1Y2tldCAhPT0gbnVsbCAmJiBidWNrZXQubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgc2F2ZUNvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSwgYnVja2V0KTsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGJ1Y2tldDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIGpvaW5fYnVja2V0ID0gJ2NvbnRyb2wnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHN3aXRjaChqb2luX2J1Y2tldCkgewogICAgICAgICAgICAgICAgY2FzZSAndmFyaWFudCc6CiAgICAgICAgICAgICAgICAgICAgb3BlblJlZ0F1dGhWYXJpYW50KHR5cGUsIHJlZGlyZWN0VXJsKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgb3BlbkF1dGhNb2RhbCh0eXBlLCBjb21wbGV0ZUxvZ2luLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICAvLyBPcGVucyB0aGUgbmV3IHJlZyBhdXRoIG1vZGFsIGZvciBidWNrZXRlZCBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvYXV0aC1tb2RhbD90eXBlPSR7dHlwZX1gOwogICAgICAgICAgICAgICAgaWYocmVkaXJlY3RVcmwpCiAgICAgICAgICAgICAgICAgICAgY29udGVudCArPSBgJnJlZGlyZWN0PSR7cmVkaXJlY3RVcmx9YDsKICAgICAgICAgICAgICAgIHZpbWVvLk1vZGFsLmNyZWF0ZSh7CiAgICAgICAgICAgICAgICAgICAgc2l6ZTogJ2xhcmdlJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfaGFuZGxlcjogd2luZG93LnZpbWVvLk1vZGFsLklmcmFtZUNvbnRlbnRIYW5kbGVyLAogICAgICAgICAgICAgICAgICAgIHdyYXBwZXJfY2xhc3NuYW1lOiAnaXJpc19tb2RhbC1ib3gtLXJlZ2lzdHJhdGlvbi1qb2luJywKICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1JlZ2lzdHJhdGlvbi1Kb2luLU1vZGFsJywKICAgICAgICAgICAgICAgICAgICBoaWRlX2hlYWRlcjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2ZsdXNoOiB0cnVlLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdy52aW1lbyAmJiB3aW5kb3cudmltZW8uTW9kYWwpIHsKICAgICAgICAgICAgICAgIHZhciBjb250ZW50ID0gYC8ke3R5cGV9P21vZGFsPW5ld2A7CiAgICAgICAgICAgICAgICBpZiAocmVkaXJlY3RVcmwpCiAgICAgICAgICAgICAgICAgICAgY29udGVudCArPSBgJnJlZGlyZWN0PSR7cmVkaXJlY3RVcmx9YDsKICAgICAgICAgICAgICAgIHZhciBhdXRoX3R5cGUgPSB0eXBlID09PSAnbG9nX2luJyA/ICdsb2dpbicgOiAnam9pbic7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICd4c21hbGwnLAogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQsCiAgICAgICAgICAgICAgICAgICAgb25fY2xvc2U6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYGRpc21pc3NfJHthdXRoX3R5cGV9X21vZGFsYCwgJ2Rpc21pc3MnLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewogICAgICAgICAgICAgICAgICAgIGlmIChjb21wbGV0ZUxvZ2luKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlVXNlckxvZ2luKHJlc3BvbnNlKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHRyYWNrSm9pbkxvZ2luQlAoYXV0aF90eXBlLCBgJHthdXRoX3R5cGV9X21vZGFsX2ltcHJlc3Npb25gLCAnaW1wcmVzc2lvbicsIGZhbHNlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIGF1dGggbW9kYWwgZm9yIGxvZ2dlZCBvdXQgdXNlcnMKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgd2luZG93LnZpbWVvCiAgICAgICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uY29uZmlnCiAgICAgICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgICAgICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIKICAgICAgICAgICAgKXsKICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICBpc01vYmlsZSA/IHdpbmRvdy5sb2NhdGlvbi5ocmVmPSIvdXBsb2FkIiA6IGhhbmRsZUpvaW5Mb2dpbkYyUChldmVudCwgJ2pvaW4nLCBmYWxzZSwgJy91cGxvYWQnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIDwvc2NyaXB0PgoKPHNjcmlwdD4KCiAgICB2YXIgaXNCcm93c2VySUUgPSAoZnVuY3Rpb24od2luZG93KSB7CiAgICAgICAgcmV0dXJuIC8oTVNJRXxUcmlkZW50fEVkZ2UpLy50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTsKICAgIH0pKHdpbmRvdyk7CgogICAgLy8gSUUgZml4IGZvciBEcm9wZG93biBtZW51CiAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGRyb3BEb3duU2VsZWN0b3IgPSAnLnRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24nOwogICAgICAgIHZhciBkcm9wRG93bkVsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZHJvcERvd25TZWxlY3Rvcik7CiAgICAgICAgaWYoaXNCcm93c2VySUUpIHsKICAgICAgICAgICAgZHJvcERvd25FbGUuY2xhc3NMaXN0LmFkZCgnY29sdW1uX2ZsZXgnKTsKICAgICAgICB9CiAgICB9KSgpOwoKICAgIGZ1bmN0aW9uIGhhbmRsZU5ld1ZpZGVvQ2xpY2soKSB7CiAgICAgICAgaWYgKHdpbmRvdy52aW1lbyAmJiB3aW5kb3cudmltZW8uY3VyX3VzZXIpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSAhPT0gJy91cGxvYWQnKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvdXBsb2FkJzsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUCh1bmRlZmluZWQsICdqb2luJywgdHJ1ZSwgJy8nKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gaGFuZGxlQ3JlYXRlVmlkZW9DbGljayhlLCBpc1JlY29yZFNjcmVlbikgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlciAmJiAhaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgaGFuZGxlSm9pbkxvZ2luRjJQKGUsICdqb2luJywgdHJ1ZSwgZW5jb2RlVVJJQ29tcG9uZW50KCIvd2VsY29tZS1zdXJ2ZXk/dHlwZT1zZWdtZW50JnZpbWVvSHJlZj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KCcvY3JlYXRlL3RlbXBsYXRlcycpKSk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIHRyYWNrTmV3VmlkZW9Ecm9wZG93bkltcHJlc3Npb24ocmVjb3JkT3B0aW9uKSB7CiAgICAgICAgaWYgKHdpbmRvdy5fX2ZhKSB7CiAgICAgICAgICAgIHdpbmRvdy5fX2ZhLnB1c2goWyd0cmFja0V2ZW50JywgewogICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgY29udGFpbmVyOiAndG9wX25hdicsCiAgICAgICAgICAgICAgICBjb21wb25lbnQ6ICduZXdfdmlkZW8nLAogICAgICAgICAgICB9XSk7CgogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnZ29fbGl2ZScsCiAgICAgICAgICAgICAgICBrZXl3b3JkOiAnc2hvd25fb3duZXInLAogICAgICAgICAgICB9XSk7CgogICAgICAgICAgICBpZiAocmVjb3JkT3B0aW9uKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiAndG9wX25hdicsCiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiAncmVjb3JkJywKICAgICAgICAgICAgICAgICAgICBrZXl3b3JkOiByZWNvcmRPcHRpb24sCiAgICAgICAgICAgICAgICB9XSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gaGFuZGxlTGl2ZUJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgLy8gT3BlbnMgdGhlIGF1dGggbW9kYWwgZm9yIGxvZ2dlZCBvdXQgdXNlcnMKICAgICAgICBpZiAoCiAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uY29uZmlnCiAgICAgICAgICAgICYmIHdpbmRvdy52aW1lby5Nb2RhbAogICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICYmICFpc01vYmlsZQogICAgICAgICl7CiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIGNvbnN0IGxpdmVIcmVmID0gJy9mZWF0dXJlcy9saXZlc3RyZWFtaW5nLyc7CiAgICAgICAgICAgIHZpbWVvLk1vZGFsLmNyZWF0ZSh7CiAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcvam9pbj9tb2RhbD1uZXcmcmVkaXJlY3Q9JyArIGVuY29kZVVSSUNvbXBvbmVudChsaXZlSHJlZikKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZUV2ZW50KCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmNvbmZpZyAmJiB3aW5kb3cudmltZW8uTW9kYWwgJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZpbWVvLk1vZGFsLmNyZWF0ZSh7CiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2V2ZW50L2NyZWF0ZScsCiAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgIHNpemU6ICdldmVudF9jcmVhdGlvbicsCiAgICAgICAgICAgICAgICB0aXRsZTogJ0NyZWF0ZSBFdmVudCcsCiAgICAgICAgICAgICAgICBjb250ZW50X2ZsdXNoOiB0cnVlLAogICAgICAgICAgICAgICAgYm9keV9sb2NrOiB0cnVlLAogICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICBjbG9zZV9vbl9jbGlja19vdXRzaWRlOiBmYWxzZSwKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgfQo8L3NjcmlwdD4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBhcnJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWNvcmRfYW5pbWF0aW9uX3dyYXBwZXInKTsKICAgICAgICB2YXIgbmV3VmlkZW9CdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX3RpcF93cmFwcGVyJyk7CgogICAgICAgIGlmIChhcnJvdykgewogICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdub19hbmltYXRpb24nKTsKICAgICAgICB9CgogICAgICAgIHZhciBpc0hvdmVyZWQgPSBmYWxzZTsKCiAgICAgICAgaWYgKG5ld1ZpZGVvQnRuICYmIGZhbHNlKSB7CiAgICAgICAgICAgIG5ld1ZpZGVvQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGlmIChpc0hvdmVyZWQpIHJldHVybjsKCiAgICAgICAgICAgICAgICBpc0hvdmVyZWQgPSB0cnVlOwoKICAgICAgICAgICAgICAgIGlmIChhcnJvdykgewogICAgICAgICAgICAgICAgICAgIGFycm93LmNsYXNzTGlzdC5yZW1vdmUoJ25vX2FuaW1hdGlvbicpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHN0b3JlX3JlY29yZF90aXBfc2V0dGluZ3MoMSk7CgogICAgICAgICAgICB9LCBmYWxzZSk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKHZhbHVlKSB7CiAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9uYXZfcmVjb3JkZXJfdGlwJyk7CiAgICAgICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdYLVJlcXVlc3RlZC1XaXRoJywgJ1hNTEh0dHBSZXF1ZXN0Jyk7CiAgICAgICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgICAgIHhoci5zZW5kKCdyZWNvcmRfc2NyZWVuX3RpcF9zdGF0ZT0nICsgdmFsdWUgKyAnJnRva2VuPScgKyB2aW1lby54c3JmdCk7CgogICAgICAgICAgICAvLyBOb3RoaW5nIHRvIGhhbmRsZS4gV2UgaG9wZSBmb3IgdGhlIGJlc3QgaW4gdGhpcyBjYXNlCiAgICAgICAgICAgIHhoci5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7fTsKICAgICAgICB9OwogICAgPC9zY3JpcHQ+CgoKICAgIAo8IS0tIC8qIFJlc3BvbnNpdmUgVG9wIE5hdiAoRXhwbG9yZSwgTE9IUCwgV2F0Y2gsIHRjKSAqLS0+CjxuYXYgaWQ9InRvcG5hdl9tb2JpbGUiIGNsYXNzPSJ0b3BuYXZfbW9iaWxlICAgIG5hdl9iYXItLWxpIiByb2xlPSJiYW5uZXIiPgoKICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfYmFyIj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGRhdGEtYWN0aW9uPSJtZW51Lm9wZW4iIGNsYXNzPSJuYXZiYXJfaGFtYnVyZ2VyIG5hdl9iYXJfaWNvbiB0b3BuYXZfbW9iaWxlX2J1dHRvbiB0b3BuYXZfbW9iaWxlX3B1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9sb2dvIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgICAgICAgICAgICAgICA8dGl0bGU+TWVudTwvdGl0bGU+CiAgICAgICAgICAgICAgICA8cGF0aCBpZD0iUmVjdGFuZ2xlLTQiIGQ9Ik03LDhIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN0ExLDEsMCwwLDEsNiw5SDZBMSwxLDAsMCwxLDcsOFoiIC8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywxNUgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywxNVoiLz4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03LDIySDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdhMSwxLDAsMCwxLTEtMUg2QTEsMSwwLDAsMSw3LDIyWiIvPgogICAgICAgICAgICA8L3N2Zz4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9hY3Rpb25fYnV0dG9ucyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3ZpbWVvLmNvbS9zZWFyY2giIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2J1dHRvbiB0b3BuYXZfbW9iaWxlX3B1bGxfcmlnaHQgdG9wbmF2X21vYmlsZV9oZWFkZXJfc2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJuYXZfYmFyX3NlYXJjaF9pY29uIG5hdl9iYXJfaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dGl0bGU+U2VhcmNoPC90aXRsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI2Ljc0LDI1LjMybC00LjUzLTQuNTNhMSwxLDAsMCwwLS4yMS0uMTRBOSw5LDAsMSwwLDIwLjY1LDIyYTEsMSwwLDAsMCwuMTQuMjFsNC41Myw0LjUzYTEsMSwwLDAsMCwxLjQxLTEuNDFaTTE1LDIyYTcsNywwLDEsMSw3LTdBNyw3LDAsMCwxLDE1LDIyWiIvPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdl9tb2JpbGUiIGNsYXNzPSJ0b3BuYXZfY2FydF9idXR0b24iPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBWaW1lbyBMb2dvIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZfYmFyX3RpdGxlIGpzLW5hdl9iYXJfdGl0bGUiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20iIGd0bS1kYXRhLWNsaWNrPSJtb2JpbGVfbmF2X2hvbWVfbG9nb19jbGljayI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQ0MSAxMjQuNjgyIiB3aWR0aD0iODZweCIgaGVpZ2h0PSIyN3B4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MzQuMDc5LDUwLjE2Yy01LjMxOS02LjkyNS0xMy4xNDUtMTAuMzk1LTIzLjQ3NS0xMC4zOTVjLTE2LjA5NywwLTI5LjQ1NSw1Ljg5Ni00MC4wODMsMTcuNjg4Yy05LjkwMiwxMC42MTQtMTQuNDc4LDIyLjI2NS0xMy43MzMsMzQuOTQ0YzAuMDQ5LDAuOTMyLDAuMTMyLDEuODQsMC4yMjksMi43MzhjLTAuNTU0LDAuMjQxLTEuMDkzLDAuNDgzLTEuNjYyLDAuNzI0Yy0xMi41NTYsNS40MTEtMjQuMTQ3LDguMTEtMzQuNzc1LDguMTFjLTUuMzIsMC05LjMwNy0xLjgzOS0xMS45Ni01LjUyMWMxNC4zMTYtMi4zNTUsMjYuMjA2LTcuODc2LDM1LjY2Mi0xNi41NjhjOC44NTQtNy45NTUsMTIuOTg5LTE1LjY4OSwxMi40LTIzLjE5N2MtMC44ODctMTEuNzgtOC41NjItMTcuNjc2LTIzLjAzNC0xNy42NzZjLTE1LjY1LDAtMjkuMjM1LDUuOTA5LTQwLjc1LDE3LjcxNGMtMTAuNDg0LDEwLjc4My0xNS44MDUsMjIuMTQ4LTE1Ljk0NywzNC4xMDNjLTAuMDQsMi4wMDUsMC4wNjYsMy45MzIsMC4zLDUuNzg5Yy0yLjQ3NywxLjYzMi00LjM1MiwyLjQ1Ni01LjYxMywyLjQ1NmMtMi44MSwwLTQuNTc2LTAuNTgyLTUuMzE0LTEuNzZjLTAuNzM3LTEuMTc4LTEuMDM1LTMuMzA4LTAuODg3LTYuNDAxYzAtMS4xNzgsMC45MTktNS42OTUsMi43NzEtMTMuNTY1YzEuODQ1LTcuODcsMi44NDEtMTMuODY0LDIuOTktMTcuOTg3YzAuMjkxLTYuMDI1LTAuODk0LTEwLjY2LTMuNTQ3LTEzLjg5NmMtMy4xMDEtMy45NzQtOC4xOTQtNS42NjMtMTUuMjgxLTUuMDc0Yy01LjkwMiwwLjQ0Ny0xMS41OTIsMi42Ni0xNy4wNTQsNi42NDdjLTMuMjQ5LDIuMzYzLTYuNTY5LDUuNTM0LTkuOTYxLDkuNTIxYy0xLjE4NSwxLjAzNi0yLjI5MSwyLTMuMzI3LDIuODhjMC4xNDMtNi4wNTEtMS4wMzYtMTAuNzA1LTMuNTQtMTMuOTU0Yy0zLjEwNy0zLjk4Ny04LjI3Mi01LjY4My0xNS41MDgtNS4wOTRjLTguNDE1LDAuNzM4LTE2LjAyLDQuMDY1LTIyLjgwOSw5Ljk2N2MtMi45NTgsMi41MTEtNS41NCw1LjQ2OS03Ljc1Myw4Ljg2MWMwLjI5MS0xLjMyNywwLjQ0LTIuNzMxLDAuNDQtNC4yMDdjMC00LjU3Ni0xLjE4NS04LjYwMi0zLjU0Ny0xMi4wNzFzLTUuNDYyLTUuMDU1LTkuMzAxLTQuNzU3Yy0yLjIxMywwLjE0OS02LjQyLDMuMTAxLTEyLjYyMSw4Ljg1NGMtOC41NjksNy45NzQtMTMuMjE2LDEyLjI1OS0xMy45NTQsMTIuODQxbDUuMzEzLDUuOThjNC4xMzYtMi45ODQsNi42NDctNC40NzksNy41MzQtNC40NzljMS42MTgsMCwyLjI4NSwxLjMyNywxLjk5NCwzLjk3NWMtMC4xNDMsMy44MzEtMC44MjIsOS4xNjQtMi4wMzksMTYuMDEyYy0wLjc1NCw0LjI0My0xLjI5OCw3LjkwNC0xLjYzOCwxMC45ODhjLTAuMDY2LDAuMDU1LTAuMTI5LDAuMTA5LTAuMTk2LDAuMTY0Yy01LjMyLDQuMzc1LTkuMDA5LDYuNTU2LTExLjA3NCw2LjU1NmMtNC43MjUsMC03LjAxNi0zLjE1OC02Ljg2Ny05LjQ4OGMyLjIxMy0xMy44MjQsNC4yODUtMjUuMjIyLDYuMjA3LTM0LjE5OWMwLjU4My01LjI5NC0wLjI2Ni05LjU5Mi0yLjU1LTEyLjkwNmMtMi4yOTEtMy4zMTQtNS44Ny00Ljc0NC0xMC43MzctNC4zMDRjLTMuMTA3LDAuMjk4LTcuODMyLDMuMjQ5LTE0LjE4MSw4Ljg2Yy0yLjIwNSwyLTQuNDEsMy45OTYtNi42MTUsNS45OTNjLTAuNDM3LTEwLjQ0Ny01LjIwNC0xNS44MjItMTQuMzI5LTE2LjA5Yy0xMy42NjktMC40NC0yMi45MzEsNy4yNzUtMjcuNzc5LDIzLjE1OGMyLjUwNC0xLjA3NCw0LjkzOC0xLjYxOCw3LjMwMS0xLjYxOGM1LjAxNiwwLDcuMjI5LDIuODIyLDYuNjQsOC40NTNjLTAuMjk3LDMuNDExLTIuNTExLDguMzc1LTYuNjQsMTQuODk5Yy00LjEzNiw2LjUyMy03LjIzNiw5Ljc4Ni05LjMwMSw5Ljc4NmMtMi42NiwwLTUuMDk0LTUuMDIzLTcuMzA3LTE1LjA4MWMtMC43NDUtMi45NTEtMi4wNzEtMTAuNDkxLTMuOTg3LTIyLjYxNGMtMS43NzMtMTEuMjM2LTYuNDk5LTE2LjQ4NS0xNC4xNzQtMTUuNzQ3Yy0zLjI0OSwwLjI5OC04LjEyMywzLjI0OS0xNC42MTQsOC44NkM5LjY2OSw1My4zMTgsNC44NjcsNTcuNTk3LDAsNjEuODc1bDQuNjQxLDUuOThjNC40Mi0zLjA5NCw3LjAwMy00LjY0Nyw3Ljc0MS00LjY0N2MzLjM4NSwwLDYuNTUsNS4zMTMsOS41MDEsMTUuOTI5YzIuNjUzLDkuNzMzLDUuMzA3LDE5LjQ2OCw3Ljk2MSwyOS4yMDJjMy45NzQsMTAuNjIxLDguODQxLDE1LjkyOSwxNC41ODgsMTUuOTI5YzkuMjgxLDAsMjAuNjI3LTguNzE5LDM0LjAzOC0yNi4xNTRDODcuODkyLDg1Ljk4Nyw5My45OSw3NS43NCw5Ni44LDY3LjM1NGMzLjcyLTIuNzQ4LDYuMDE4LTQuMTQ2LDYuODUzLTQuMTQ2YzIuNjUzLDAsMy45ODcsMS45MjIsMy45ODcsNS43NTRjMCwwLjczOC0xLjQ0Myw2LjItNC4zMjQsMTYuMzgxYy0yLjg4LDEwLjE4Mi00LjM5NSwxNy43MDktNC41MzcsMjIuNTc1Yy0wLjE0OSw0LjcyNiwwLjk5Nyw4LjU1NywzLjQzLDExLjUwOGMyLjQzNCwyLjk1Miw1Ljk0MSw0LjQyOCwxMC41MjQsNC40MjhjOS44OSwwLDE5Ljc3OS00LjI3OCwyOS42NzUtMTIuODM1YzAuODgxLTAuNzcyLDEuNzM4LTEuNTU3LDIuNTczLTIuMzUyYzAuNzgzLDMuMzEyLDIuMTI0LDYuMDQ1LDQuMDcsOC4xNWM0LjI1OSw0LjU2OSwxMS40NTYsNi43MDYsMjEuNTkyLDYuNDA4Yy0xLjM1My0zLjI0OS0xLjg4NC05LjAwMy0xLjU4Ni0xNy4yNzRjMC40NC05LjE1MiwyLjgwOS0xNy45NDEsNy4wOTQtMjYuMzU1czguMjc4LTEyLjYyNywxMS45OC0xMi42MjdjNC4yODUsMCw2LjI4NSwyLjczMSw1Ljk4Nyw4LjE5M2MtMC4xNDksMy42OTYtMC44NzQsNy45MDMtMi4xNzUsMTIuNjI4Yy0xLjMwNyw0LjcyNS0yLjAzMiw5LjQ0OS0yLjE3NCwxNC4xNzRjLTAuMjk4LDcuNTM0LDEuMzkyLDEyLjkxOSw1LjA4MSwxNi4xNjhjNC4xMTYsMy42ODksMTEuMzM0LDUuMzkyLDIxLjYzOCw1LjA5NGMtMS41NDEtMy4zOTItMi4xNjItOC4yNjYtMS44NjQtMTQuNjIxYzAuNDQtOS4wMDMsMy40ODItMTguMzA0LDkuMTEzLTI3LjkwMmM1LjMzMy05LjE1MSw5LjkyMi0xMy43MzMsMTMuNzcyLTEzLjczM2MzLjU2LDAsNS4yNjMsMi44MDksNS4xMTMsOC40MTRjLTAuMTQ4LDMuNjg4LTEuMDc0LDguODU0LTIuNzcxLDE1LjQ5NGMtMS42OTUsNi42NDEtMi42MjEsMTIuMzE2LTIuNzY0LDE3LjA0MWMtMC4yOTcsMTAuNjI4LDQuMzUsMTUuOTM2LDEzLjk1NSwxNS45MzZjOS44ODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjE2NC0wLjE0NCwwLjMxNi0wLjI5MywwLjQ3OS0wLjQzOGMwLjM0LDAuNTg2LDAuNjg4LDEuMTY4LDEuMDY4LDEuNzMyYzUuMTY1LDcuOTY3LDEzLjczNCwxMS45NTQsMjUuNjk1LDExLjk1NGMxNi4wOSwwLDMxLjk2Ni00LjQ5Miw0Ny42MTYtMTMuNDg4YzEuNzU2LTAuOTksMy40MjItMS45NzksNS4wMTctMi45N2MwLjk4NiwxLjk5MSwyLjEzOCwzLjg2NiwzLjUwMiw1LjU5MWM2LjA1Miw3LjUyMSwxNC45MTIsMTEuMjgxLDI2LjU3NSwxMS4yODFjMTQuMDI1LDAsMjUuNzY3LTQuOTM4LDM1LjIxNi0xNC44MTVjOS40NDktOS44NzYsMTQuNDY2LTIxLjU5OCwxNS4wNjEtMzUuMTYzQzQ0MS4zODcsNjQuNjg0LDQzOS4xMDIsNTYuNTAzLDQzNC4wNzksNTAuMTZ6IE0zMDUuMTE4LDkwLjAwM2MtMC4wODQtMS45MDktMC4wODQtMi44NjcsMC0yLjg2N2MwLjE0My01LjU3OSwyLjUwNS0xMS40MTcsNy4wNzQtMTcuNTE0czkuMDYyLTkuMTQ2LDEzLjQ4OC05LjE0NmMzLjM5MiwwLDUuMDEsMS45ODcsNC44NjcsNS45NDhjLTAuMTQ5LDIuOTM4LTIuMzYyLDYuNzY0LTYuNjM0LDExLjQ2MkMzMTguNjA2LDgzLjMyNCwzMTIuMzQxLDg3LjM2MiwzMDUuMTE4LDkwLjAwM3ogTTQxNS45MTgsNzMuODY4Yy0wLjI5Nyw3LjEtMi40MzQsMTMuOTAyLTYuNDIsMjAuNDEzYy00LjcyNSw3Ljg0NS0xMC40MTQsMTEuNzYtMTcuMDU1LDExLjc2Yy0yLjk1OCwwLTUuMjQ5LTEuNjI0LTYuODY3LTQuODhjLTEuNDc2LTIuODA5LTIuMTQyLTYuMDY0LTEuOTkzLTkuNzY3YzAuMjkxLTcuNTQsMi41MDUtMTQuNjQsNi42NDctMjEuM2M0Ljg2Ni04LjEzNiwxMS4wNjctMTIuMjA3LDE4LjYwMS0xMi4yMDdjMi4zNTYsMCw0LjE2OCwxLjY3LDUuNDI0LDQuOTk3UzQxNi4wNjcsNjkuODc1LDQxNS45MTgsNzMuODY4eiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51IGxvaHBfdG9wbmF2X21vYmlsZV9tZW51IGpzLXRvcG5hdl9tb2JpbGVfbWVudV9tYWluIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2hwLWZsZXgtd3JhcHBlciI+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgZGF0YS1ndG0tY2xpY2s9Im1vYmlsZV9uYXZfbWVudV9jbG9zZV9jbGljayIgY2xhc3M9Im1lbnVfY2xvc2UgcHVsbF9sZWZ0IGpzLXRvcG5hdl9tb2JpbGVfaGVhZGVyX2Nsb3NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPSIyMiIgaGVpZ2h0PSIxNyIgdmlld0JveD0iMCAwIDE4IDE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBzdHJva2Utd2lkdGg9IjAuMSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEgMTYuMjE4TDE2LjYyNy41OWwuNzc4Ljc3OEwxLjc3OCAxNi45OTV6IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMS43NzguNTlsMTUuNjI3IDE1LjYyOC0uNzc4Ljc3N0wxIDEuMzY4eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibG9ocF9sb2dvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIyN3B4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMjAuNDgxLDI3LjMyNmM1LjQ2MiwwLDEwLjE4OC0xLjkxLDE0LjE3NC01LjcyOGMzLjU0Ny0zLjM3OSw1LjM5Mi02LjkwNiw1LjU0LTEwLjU4M2MwLjE0My0yLjQ5Mi0wLjgxNS00Ljk1MS0yLjg4LTcuMzc4QzEzNS4yNDQsMS4yMTcsMTMyLjY2MiwwLDEyOS41NjIsMGMtNS4zMiwwLTEwLjE1NSwxLjc2Ny0xNC41MTEsNS4yODhjLTQuMzU2LDMuNTI3LTYuNjA4LDcuMjA0LTYuNzUsMTEuMDIyQzEwOC4wMDIsMjMuNjU2LDExMi4wNjcsMjcuMzI2LDEyMC40ODEsMjcuMzI2eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik00MzQuMDc5LDUwLjE2Yy01LjMxOS02LjkyNS0xMy4xNDUtMTAuMzk1LTIzLjQ3NS0xMC4zOTVjLTE2LjA5NywwLTI5LjQ1NSw1Ljg5Ni00MC4wODMsMTcuNjg4Yy05LjkwMiwxMC42MTQtMTQuNDc4LDIyLjI2NS0xMy43MzMsMzQuOTQ0YzAuMDQ5LDAuOTMyLDAuMTMyLDEuODQsMC4yMjksMi43MzhjLTAuNTU0LDAuMjQxLTEuMDkzLDAuNDgzLTEuNjYyLDAuNzI0Yy0xMi41NTYsNS40MTEtMjQuMTQ3LDguMTEtMzQuNzc1LDguMTFjLTUuMzIsMC05LjMwNy0xLjgzOS0xMS45Ni01LjUyMWMxNC4zMTYtMi4zNTUsMjYuMjA2LTcuODc2LDM1LjY2Mi0xNi41NjhjOC44NTQtNy45NTUsMTIuOTg5LTE1LjY4OSwxMi40LTIzLjE5N2MtMC44ODctMTEuNzgtOC41NjItMTcuNjc2LTIzLjAzNC0xNy42NzZjLTE1LjY1LDAtMjkuMjM1LDUuOTA5LTQwLjc1LDE3LjcxNGMtMTAuNDg0LDEwLjc4My0xNS44MDUsMjIuMTQ4LTE1Ljk0NywzNC4xMDNjLTAuMDQsMi4wMDUsMC4wNjYsMy45MzIsMC4zLDUuNzg5Yy0yLjQ3NywxLjYzMi00LjM1MiwyLjQ1Ni01LjYxMywyLjQ1NmMtMi44MSwwLTQuNTc2LTAuNTgyLTUuMzE0LTEuNzZjLTAuNzM3LTEuMTc4LTEuMDM1LTMuMzA4LTAuODg3LTYuNDAxYzAtMS4xNzgsMC45MTktNS42OTUsMi43NzEtMTMuNTY1YzEuODQ1LTcuODcsMi44NDEtMTMuODY0LDIuOTktMTcuOTg3YzAuMjkxLTYuMDI1LTAuODk0LTEwLjY2LTMuNTQ3LTEzLjg5NmMtMy4xMDEtMy45NzQtOC4xOTQtNS42NjMtMTUuMjgxLTUuMDc0Yy01LjkwMiwwLjQ0Ny0xMS41OTIsMi42Ni0xNy4wNTQsNi42NDdjLTMuMjQ5LDIuMzYzLTYuNTY5LDUuNTM0LTkuOTYxLDkuNTIxYy0xLjE4NSwxLjAzNi0yLjI5MSwyLTMuMzI3LDIuODhjMC4xNDMtNi4wNTEtMS4wMzYtMTAuNzA1LTMuNTQtMTMuOTU0Yy0zLjEwNy0zLjk4Ny04LjI3Mi01LjY4My0xNS41MDgtNS4wOTRjLTguNDE1LDAuNzM4LTE2LjAyLDQuMDY1LTIyLjgwOSw5Ljk2N2MtMi45NTgsMi41MTEtNS41NCw1LjQ2OS03Ljc1Myw4Ljg2MWMwLjI5MS0xLjMyNywwLjQ0LTIuNzMxLDAuNDQtNC4yMDdjMC00LjU3Ni0xLjE4NS04LjYwMi0zLjU0Ny0xMi4wNzFzLTUuNDYyLTUuMDU1LTkuMzAxLTQuNzU3Yy0yLjIxMywwLjE0OS02LjQyLDMuMTAxLTEyLjYyMSw4Ljg1NGMtOC41NjksNy45NzQtMTMuMjE2LDEyLjI1OS0xMy45NTQsMTIuODQxbDUuMzEzLDUuOThjNC4xMzYtMi45ODQsNi42NDctNC40NzksNy41MzQtNC40NzljMS42MTgsMCwyLjI4NSwxLjMyNywxLjk5NCwzLjk3NWMtMC4xNDMsMy44MzEtMC44MjIsOS4xNjQtMi4wMzksMTYuMDEyYy0wLjc1NCw0LjI0My0xLjI5OCw3LjkwNC0xLjYzOCwxMC45ODhjLTAuMDY2LDAuMDU1LTAuMTI5LDAuMTA5LTAuMTk2LDAuMTY0Yy01LjMyLDQuMzc1LTkuMDA5LDYuNTU2LTExLjA3NCw2LjU1NmMtNC43MjUsMC03LjAxNi0zLjE1OC02Ljg2Ny05LjQ4OGMyLjIxMy0xMy44MjQsNC4yODUtMjUuMjIyLDYuMjA3LTM0LjE5OWMwLjU4My01LjI5NC0wLjI2Ni05LjU5Mi0yLjU1LTEyLjkwNmMtMi4yOTEtMy4zMTQtNS44Ny00Ljc0NC0xMC43MzctNC4zMDRjLTMuMTA3LDAuMjk4LTcuODMyLDMuMjQ5LTE0LjE4MSw4Ljg2Yy0yLjIwNSwyLTQuNDEsMy45OTYtNi42MTUsNS45OTNjLTAuNDM3LTEwLjQ0Ny01LjIwNC0xNS44MjItMTQuMzI5LTE2LjA5Yy0xMy42NjktMC40NC0yMi45MzEsNy4yNzUtMjcuNzc5LDIzLjE1OGMyLjUwNC0xLjA3NCw0LjkzOC0xLjYxOCw3LjMwMS0xLjYxOGM1LjAxNiwwLDcuMjI5LDIuODIyLDYuNjQsOC40NTNjLTAuMjk3LDMuNDExLTIuNTExLDguMzc1LTYuNjQsMTQuODk5Yy00LjEzNiw2LjUyMy03LjIzNiw5Ljc4Ni05LjMwMSw5Ljc4NmMtMi42NiwwLTUuMDk0LTUuMDIzLTcuMzA3LTE1LjA4MWMtMC43NDUtMi45NTEtMi4wNzEtMTAuNDkxLTMuOTg3LTIyLjYxNGMtMS43NzMtMTEuMjM2LTYuNDk5LTE2LjQ4NS0xNC4xNzQtMTUuNzQ3Yy0zLjI0OSwwLjI5OC04LjEyMywzLjI0OS0xNC42MTQsOC44NkM5LjY2OSw1My4zMTgsNC44NjcsNTcuNTk3LDAsNjEuODc1bDQuNjQxLDUuOThjNC40Mi0zLjA5NCw3LjAwMy00LjY0Nyw3Ljc0MS00LjY0N2MzLjM4NSwwLDYuNTUsNS4zMTMsOS41MDEsMTUuOTI5YzIuNjUzLDkuNzMzLDUuMzA3LDE5LjQ2OCw3Ljk2MSwyOS4yMDJjMy45NzQsMTAuNjIxLDguODQxLDE1LjkyOSwxNC41ODgsMTUuOTI5YzkuMjgxLDAsMjAuNjI3LTguNzE5LDM0LjAzOC0yNi4xNTRDODcuODkyLDg1Ljk4Nyw5My45OSw3NS43NCw5Ni44LDY3LjM1NGMzLjcyLTIuNzQ4LDYuMDE4LTQuMTQ2LDYuODUzLTQuMTQ2YzIuNjUzLDAsMy45ODcsMS45MjIsMy45ODcsNS43NTRjMCwwLjczOC0xLjQ0Myw2LjItNC4zMjQsMTYuMzgxYy0yLjg4LDEwLjE4Mi00LjM5NSwxNy43MDktNC41MzcsMjIuNTc1Yy0wLjE0OSw0LjcyNiwwLjk5Nyw4LjU1NywzLjQzLDExLjUwOGMyLjQzNCwyLjk1Miw1Ljk0MSw0LjQyOCwxMC41MjQsNC40MjhjOS44OSwwLDE5Ljc3OS00LjI3OCwyOS42NzUtMTIuODM1YzAuODgxLTAuNzcyLDEuNzM4LTEuNTU3LDIuNTczLTIuMzUyYzAuNzgzLDMuMzEyLDIuMTI0LDYuMDQ1LDQuMDcsOC4xNWM0LjI1OSw0LjU2OSwxMS40NTYsNi43MDYsMjEuNTkyLDYuNDA4Yy0xLjM1My0zLjI0OS0xLjg4NC05LjAwMy0xLjU4Ni0xNy4yNzRjMC40NC05LjE1MiwyLjgwOS0xNy45NDEsNy4wOTQtMjYuMzU1czguMjc4LTEyLjYyNywxMS45OC0xMi42MjdjNC4yODUsMCw2LjI4NSwyLjczMSw1Ljk4Nyw4LjE5M2MtMC4xNDksMy42OTYtMC44NzQsNy45MDMtMi4xNzUsMTIuNjI4Yy0xLjMwNyw0LjcyNS0yLjAzMiw5LjQ0OS0yLjE3NCwxNC4xNzRjLTAuMjk4LDcuNTM0LDEuMzkyLDEyLjkxOSw1LjA4MSwxNi4xNjhjNC4xMTYsMy42ODksMTEuMzM0LDUuMzkyLDIxLjYzOCw1LjA5NGMtMS41NDEtMy4zOTItMi4xNjItOC4yNjYtMS44NjQtMTQuNjIxYzAuNDQtOS4wMDMsMy40ODItMTguMzA0LDkuMTEzLTI3LjkwMmM1LjMzMy05LjE1MSw5LjkyMi0xMy43MzMsMTMuNzcyLTEzLjczM2MzLjU2LDAsNS4yNjMsMi44MDksNS4xMTMsOC40MTRjLTAuMTQ4LDMuNjg4LTEuMDc0LDguODU0LTIuNzcxLDE1LjQ5NGMtMS42OTUsNi42NDEtMi42MjEsMTIuMzE2LTIuNzY0LDE3LjA0MWMtMC4yOTcsMTAuNjI4LDQuMzUsMTUuOTM2LDEzLjk1NSwxNS45MzZjOS44ODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjE2NC0wLjE0NCwwLjMxNi0wLjI5MywwLjQ3OS0wLjQzOGMwLjM0LDAuNTg2LDAuNjg4LDEuMTY4LDEuMDY4LDEuNzMyYzUuMTY1LDcuOTY3LDEzLjczNCwxMS45NTQsMjUuNjk1LDExLjk1NGMxNi4wOSwwLDMxLjk2Ni00LjQ5Miw0Ny42MTYtMTMuNDg4YzEuNzU2LTAuOTksMy40MjItMS45NzksNS4wMTctMi45N2MwLjk4NiwxLjk5MSwyLjEzOCwzLjg2NiwzLjUwMiw1LjU5MWM2LjA1Miw3LjUyMSwxNC45MTIsMTEuMjgxLDI2LjU3NSwxMS4yODFjMTQuMDI1LDAsMjUuNzY3LTQuOTM4LDM1LjIxNi0xNC44MTVjOS40NDktOS44NzYsMTQuNDY2LTIxLjU5OCwxNS4wNjEtMzUuMTYzQzQ0MS4zODcsNjQuNjg0LDQzOS4xMDIsNTYuNTAzLDQzNC4wNzksNTAuMTZ6IE0zMDUuMTE4LDkwLjAwM2MtMC4wODQtMS45MDktMC4wODQtMi44NjcsMC0yLjg2N2MwLjE0My01LjU3OSwyLjUwNS0xMS40MTcsNy4wNzQtMTcuNTE0czkuMDYyLTkuMTQ2LDEzLjQ4OC05LjE0NmMzLjM5MiwwLDUuMDEsMS45ODcsNC44NjcsNS45NDhjLTAuMTQ5LDIuOTM4LTIuMzYyLDYuNzY0LTYuNjM0LDExLjQ2MkMzMTguNjA2LDgzLjMyNCwzMTIuMzQxLDg3LjM2MiwzMDUuMTE4LDkwLjAwM3ogTTQxNS45MTgsNzMuODY4Yy0wLjI5Nyw3LjEtMi40MzQsMTMuOTAyLTYuNDIsMjAuNDEzYy00LjcyNSw3Ljg0NS0xMC40MTQsMTEuNzYtMTcuMDU1LDExLjc2Yy0yLjk1OCwwLTUuMjQ5LTEuNjI0LTYuODY3LTQuODhjLTEuNDc2LTIuODA5LTIuMTQyLTYuMDY0LTEuOTkzLTkuNzY3YzAuMjkxLTcuNTQsMi41MDUtMTQuNjQsNi42NDctMjEuM2M0Ljg2Ni04LjEzNiwxMS4wNjctMTIuMjA3LDE4LjYwMS0xMi4yMDdjMi4zNTYsMCw0LjE2OCwxLjY3LDUuNDI0LDQuOTk3UzQxNi4wNjcsNjkuODc1LDQxNS45MTgsNzMuODY4eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hY3Rpb249Im1lbnUuc2V0dGluZ3Mub3BlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X3NldHRpbmdzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c2V0dGluZ3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibWVudV9zZXR0aW5ncyBwdWxsX3JpZ2h0IGpzLXRvcG5hdl9tb2JpbGVfaGVhZGVyX3NldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxOC44NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDE4Ljg2IDIwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOC44NiAyMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJnZWFyXzFfIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iSWNvbl8xXyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS4wMDAwMDAsIDUuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTEwXzFfIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD0iQ29tYmluZWQtU2hhcGVfMV8iIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMWIxYjE7c3Ryb2tlLXdpZHRoOjI7IiBkPSJNMTIsNC41OGwtMC41Ny0wLjI3VjEuOTljMC0wLjU0LTAuNDUtMC45OS0xLTAuOTloLTJjLTAuNTUsMC0xLDAuNDUtMSwwLjk5djIuMzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMNi44Niw0LjU4Yy0wLjI5LDAuMTQtMC41NywwLjMtMC44NCwwLjQ4TDUuNSw1LjQyTDMuNDksNC4yNkMzLjAyLDMuOTksMi40MSw0LjE2LDIuMTQsNC42M2wtMSwxLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQzAuODYsNi44NCwxLjAyLDcuNDYsMS40OSw3LjczTDMuNSw4Ljg5TDMuNDUsOS41MkMzLjQ0LDkuNjgsMy40Myw5Ljg0LDMuNDMsMTBzMC4wMSwwLjMyLDAuMDIsMC40OGwwLjA1LDAuNjNsLTIuMDEsMS4xNgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMtMC40NywwLjI3LTAuNjMsMC44OC0wLjM2LDEuMzZsMSwxLjc0YzAuMjcsMC40OCwwLjg5LDAuNjQsMS4zNiwwLjM3bDIuMDEtMS4xNmwwLjUyLDAuMzZjMC4yNywwLjE4LDAuNTUsMC4zNSwwLjg0LDAuNDgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMC41NywwLjI3djIuMzFjMCwwLjU0LDAuNDUsMC45OSwxLDAuOTloMmMwLjU1LDAsMS0wLjQ1LDEtMC45OXYtMi4zMUwxMiwxNS40MmMwLjI5LTAuMTQsMC41Ny0wLjMsMC44NC0wLjQ4bDAuNTItMC4zNgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwyLjAxLDEuMTZjMC40NywwLjI3LDEuMDgsMC4xMSwxLjM2LTAuMzdsMS0xLjc0YzAuMjctMC40OCwwLjExLTEuMDktMC4zNi0xLjM2bC0yLjAxLTEuMTZsMC4wNS0wLjYzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzAuMDEtMC4xNiwwLjAyLTAuMzIsMC4wMi0wLjQ4cy0wLjAxLTAuMzItMC4wMi0wLjQ4bC0wLjA1LTAuNjNsMi4wMS0xLjE2YzAuNDctMC4yNywwLjYzLTAuODgsMC4zNi0xLjM2bC0xLTEuNzQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuMjctMC40OC0wLjg5LTAuNjQtMS4zNi0wLjM3bC0yLjAxLDEuMTZsLTAuNTItMC4zNkMxMi41Nyw0Ljg4LDEyLjI5LDQuNzIsMTIsNC41OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWxfMV8iIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMWIxYjE7c3Ryb2tlLXdpZHRoOjI7IiBjeD0iOS40MyIgY3k9IjEwIiByPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDx1bCBpZD0ibWVudV9saXN0IiBjbGFzcz0ibWVudV9saXN0X2xvZ2dlZF9vdXQgbm90LXZpc2libGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1icmVlemUtaWdub3JlIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmpvaW58dGFyZ2V0Oi9qb2luIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9qb2luX2NsaWNrIiBpZD0ianMtam9pbi1saW5rIiBocmVmPSIvam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1icmVlemUtaWdub3JlIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmxvZ2lufHRhcmdldDovbG9nX2luIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9sb2dpbl9jbGljayIgaWQ9ImpzLWxvZ2luLWxpbmsiIGhyZWY9Ii9sb2dfaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2dpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5Tb2x1dGlvbnM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOnZpZGVvX21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdmlkZW9fbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvbWFya2V0aW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gbWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZXZlbnRfbWFya2V0aW5nIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ldmVudF9tYXJrZXRpbmciIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aXJ0dWFsLWV2ZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV2ZW50IG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Ib3N0IHZpcnR1YWwgZXZlbnRzIGFuZCB3ZWJpbmFycyB0byBpbmNyZWFzZSBlbmdhZ2VtZW50IGFuZCBnZW5lcmF0ZSBsZWFkcy48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVtcGxveWVlIGNvbW11bmljYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SW5zcGlyZSBlbXBsb3llZXMgd2l0aCBjb21wZWxsaW5nIGxpdmUgYW5kIG9uLWRlbWFuZCB2aWRlbyBleHBlcmllbmNlcy48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5CdWlsZCBhIHNpdGUgYW5kIGdlbmVyYXRlIGluY29tZSBmcm9tIHB1cmNoYXNlcywgc3Vic2NyaXB0aW9ucywgYW5kIGNvdXJzZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd25fbGlzdCI+CiAgICA8YnV0dG9uIGNsYXNzPSJkcm9wZG93bl90b2dnbGVfYnV0dG9uIGpzLXRvcG5hdl9tb2JpbGVfbWVudV90b2dnbGUiPgogICAgICAgIDxzcGFuIGNsYXNzPSJtYWluX2l0ZW0iPkZlYXR1cmVzPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+Q3JlYXRlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcmFjdGl2ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpsaXZlX3N0cmVhbWluZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmV8Y29weTpMaXZlIHN0cmVhbXxmZWF0dXJlOmNyZWF0ZV9saXZlfHRhcmdldF9wYXRoOi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIiBocmVmPSIvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIHN0cmVhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9zY3JlZW4tcmVjb3JkZXJ8Y29weTpTY3JlZW4gcmVjb3JkZXJ8ZmVhdHVyZTpjcmVhdGVfcmVjb3JkfHRhcmdldF9wYXRoOi9mZWF0dXJlcy9zY3JlZW4tcmVjb3JkZXIiIGhyZWY9Ii9mZWF0dXJlcy9zY3JlZW4tcmVjb3JkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NyZWVuIHJlY29yZGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGUgdmlkZW8gbWFrZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fZWRpdG9yIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovdmlkZW8tZWRpdG9yfGNvcHk6T25saW5lIHZpZGVvIGVkaXRvcnxmZWF0dXJlOmNyZWF0ZV9lZGl0b3J8dGFyZ2V0X3BhdGg6L3ZpZGVvLWVkaXRvciIgaHJlZj0iL3ZpZGVvLWVkaXRvciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbmxpbmUgdmlkZW8gZWRpdG9yICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmZvcl9oaXJlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZm9yLWhpcmV8Y29weTpIaXJlIGEgdmlkZW8gcHJvfGZlYXR1cmU6Y3JlYXRlX2hpcmV8dGFyZ2V0X3BhdGg6L2Zvci1oaXJlIiBocmVmPSIvZm9yLWhpcmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBhIHZpZGVvIHBybyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5NYW5hZ2U8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fbGlicmFyeSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnk/bWtjPTM2OGlwX2ZtX3ZsfGNvcHk6VmlkZW8gbGlicmFyeXxmZWF0dXJlOm1hbmFnZV9saWJyYXJ5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnk/bWtjPTM2OGlwX2ZtX3ZsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGxpYnJhcnkgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWQtZnJlZSBwbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6aG9zdGluZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nfGNvcHk6VmlkZW8gaG9zdGluZ3xmZWF0dXJlOm1hbmFnZV92aWRlb19ob3N0aW5nfHRhcmdldF9wYXRoOi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyIgaHJlZj0iL2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6cHJpdmFjeSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXByaXZhY3k/bWtjPTM2OGlwX2ZtX3ByaXZhY3l8Y29weTpQcml2YWN5fGZlYXR1cmU6bWFuYWdlX3ByaXZhY3l8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXByaXZhY3k/bWtjPTM2OGlwX2ZtX3ByaXZhY3kiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+R3JvdzwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnN8Y29weTpTbWFsbCBidXNpbmVzc3xmZWF0dXJlOmdyb3dfc21hbGxfYnVzaW5lc3N8dGFyZ2V0X3BhdGg6L3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiIGhyZWY9Ii9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNtYWxsIGJ1c2luZXNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50ZXJwcmlzZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp3ZWJpbmFycyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3dlYmluYXJ8Y29weTpXZWJpbmFyc3xmZWF0dXJlOmdyb3dfd2ViaW5hcnN8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3dlYmluYXIiIGhyZWY9Ii9mZWF0dXJlcy93ZWJpbmFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYmluYXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmFuYWx5dGljcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLWFuYWx5dGljcz9ta2M9MzY4aXBfZmdfYW5hbHl6ZXxjb3B5OlZpZGVvIGFuYWx5dGljc3xmZWF0dXJlOmdyb3dfYW5hbHl0aWNzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emUiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gYW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gbW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd25fbGlzdCI+CiAgICA8YnV0dG9uIGNsYXNzPSJkcm9wZG93bl90b2dnbGVfYnV0dG9uIGpzLXRvcG5hdl9tb2JpbGVfbWVudV90b2dnbGUiPgogICAgICAgIDxzcGFuIGNsYXNzPSJtYWluX2l0ZW0iPlJlc291cmNlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkxlYXJuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6aW5zcGlyYXRpb258a2V5d29yZDpibG9nIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9pbnNwaXJhdGlvbl9ibG9nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2d8Y29weTpWaW1lbyBibG9nfGZlYXR1cmU6bGVhcm5fYmxvZ3x0YXJnZXRfcGF0aDovYmxvZyIgaHJlZj0iL2Jsb2ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gYmxvZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6dmlkZW9fc2Nob29sIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9pbnNwaXJhdGlvbl92aWRlb19zY2hvb2wiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2x8Y29weTpWaWRlbyBTY2hvb2x8ZmVhdHVyZTpsZWFybl92aWRlb19zY2hvb2x8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIiBocmVmPSIvYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gU2Nob29sICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbWVyIHN0b3JpZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfbGVhcm58a2V5d29yZDppbnZlc3Rvcl9yZWxhdGlvbnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb218Y29weTpJbnZlc3RvciBSZWxhdGlvbnN8ZmVhdHVyZTpsZWFybl9pbnZlc3Rvcl9yZWxhdGlvbnN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIiBocmVmPSJodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW52ZXN0b3IgUmVsYXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNvbm5lY3Q8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOmRldmVsb3Blcl90b29scyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS98Y29weTpEZXZlbG9wZXIgdG9vbHN8ZmVhdHVyZTpjb25uZWN0X2RldmVsb3Blcl90b29sc3x0YXJnZXRfcGF0aDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vIiBocmVmPSJodHRwczovL2RldmVsb3Blci52aW1lby5jb20vIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmVsb3BlciB0b29scyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6cGFydG5lcl9wcm9ncmFtIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3BhcnRuZXJzfGNvcHk6UGFydG5lciBwcm9ncmFtfGZlYXR1cmU6Y29ubmVjdF9wYXJ0bmVyX3Byb2dyYW18dGFyZ2V0X3BhdGg6L3BhcnRuZXJzIiBocmVmPSIvcGFydG5lcnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFydG5lciBwcm9ncmFtICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGl2ZSBjb21tdW5pdHkgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOmhlbHBfY2VudGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS98Y29weTpIZWxwIGNlbnRlcnxmZWF0dXJlOmNvbm5lY3RfaGVscF9jZW50ZXJ8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vaGVscC52aW1lby5jb20vIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgY2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd25fbGlzdCI+CiAgICA8YnV0dG9uIGNsYXNzPSJkcm9wZG93bl90b2dnbGVfYnV0dG9uIGpzLXRvcG5hdl9tb2JpbGVfbWVudV90b2dnbGUiPgogICAgICAgIDxzcGFuIGNsYXNzPSJtYWluX2l0ZW0iPldhdGNoPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVzdCBvZiB0aGUgWWVhciAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCcm93c2UgVmlkZW9zICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXRlZ29yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFubmVscyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT24gRGVtYW5kICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmljaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9jb250YWN0X3NhbGVzX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpjb250YWN0X3NhbGVzfGtleXdvcmQ6Y29udGFjdF9zYWxlcyIgaHJlZj0iL2VudGVycHJpc2UvY29udGFjdC11cz9ta2M9MzY4dG5jIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im1haW5faXRlbSIgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJzZWFyY2hfaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGl0bGU+U2VhcmNoPC90aXRsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI2Ljc0LDI1LjMybC00LjUzLTQuNTNhMSwxLDAsMCwwLS4yMS0uMTRBOSw5LDAsMSwwLDIwLjY1LDIyYTEsMSwwLDAsMCwuMTQuMjFsNC41Myw0LjUzYTEsMSwwLDAsMCwxLjQxLTEuNDFaTTE1LDIyYTcsNywwLDEsMSw3LTdBNyw3LDAsMCwxLDE1LDIyWiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b21fYnV0dG9uc19jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvdXBsb2FkIiBjbGFzcz0iZGFya19idXR0b24iIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGtleXdvcmQ6dXBsb2FkIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl91cGxvYWRfY2xpY2siIGlkPSJqcy11cGxvYWQtbGluayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMyIgaGVpZ2h0PSIxNyIgdmlld0JveD0iMCAwIDMwIDIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuNTgzIDQuOTIzQTguMiA4LjIgMCAwMTI0Ljc3OCA5LjM5IDUuNyA1LjcgMCAwMTIyLjcgMjAuNGwtMTYtLjAwMUE1LjcgNS43IDAgMTE2LjcgOWgxLjY4MmE4LjE2MiA4LjE2MiAwIDAxMS4yLTQuMDc3em0tMy42MzYgNS4zNEE0LjUwMSA0LjUwMSAwIDAwNi43IDE5LjJoMTZhNC41IDQuNSAwIDAwLjc5OS04LjkzQTcgNyAwIDEwOS42NSAxMC4ySDYuN2E0LjUzIDQuNTMgMCAwMC0uNzUzLjA2M3ptOS42MzMuODU5VjE5LjJoLTF2LTguMDkzbC0zLjA0MyAzLjA0My0uNzA3LS43MDdMMTUuMDczIDkuMmw0LjI0MiA0LjI0My0uNzA3LjcwNy0zLjAyOC0zLjAyOHoiIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlVwbG9hZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSB0b3BuYXZfbW9iaWxlX21lbnVfc2V0dGluZ3MgbG9ocF9tb2JpbGVfbWVudV9zZXR0aW5ncyBqcy10b3BuYXZfbW9iaWxlX21lbnVfc2V0dGluZ3MiPgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfYmFyIHN1Ym1lbnUiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2J1dHRvbiB0b3BuYXZfbW9iaWxlX3B1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlIHRvcG5hdl9pY29uX21vYmlsZV9hcnJvd2xlZnRfYiI+IDwvYnV0dG9uPgogICAgICAgICAgICA8aDEgY2xhc3M9InRvcG5hdl9tb2JpbGVfaGVhZGVyX3RpdGxlIHN1Ym1lbnUiPk1vcmUgc3R1ZmY8L2gxPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8dWwgY2xhc3M9Im1lbnVfbGlzdF9zZXR0aW5nc19sb2dnZWRfb3V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii90ZXJtcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXJtcyBvZiBTZXJ2aWNlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5IFBvbGljeSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2RtY2EiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvY29va2llX3BvbGljeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb29raWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249ImRlc2t0b3AiIG9uY2xpY2s9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJkcygpOyByZXR1cm4gZmFsc2UiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNrdG9wIHNpdGUgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBsYW5ndWFnZSBocmVmPSIjIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIExhbmd1YWdlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBvbmNoYW5nZT0idmltZW8ubW9iaWxlLmRlc2t0b3Bfc2hhcmVkLl9zMmwodGhpcykiIHRpdGxlPSJDaG9vc2UgYSBkaWZmZXJlbnQgbGFuZ3VhZ2UiIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfc2V0dGluZ3NfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBjbGFzcz0ic2VsZWN0ZWQiIHNlbGVjdGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbmdsaXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXNwYcOxb2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImRlLURFIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXV0c2NoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJmci1GUiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJhbsOnYWlzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJqYS1KUCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5pel5pys6KqeICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJwdC1CUiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG9ydHVndcOqcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0ia28tS1IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIO2VnOq1reyWtCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Imh0dHBzOi8vdmltZW8uemVuZGVzay5jb20vaGMvZW4tdXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFRICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KCgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudV9jb3B5cmlnaHQiPlRNICsgwqkgMjAyMyBWaW1lby5jb20sIEluYy48L2Rpdj4KICAgIDwvc2VjdGlvbj4KCgogICAgICAgIDwvbmF2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uKHdpbmRvdywgZG9jdW1lbnQpewoKICAgIC8vIEdsb2JhbCB2YWx1ZXMKICAgIHdpbmRvdy52aW1lbyA9IHdpbmRvdy52aW1lbyB8fCB7fTsKICAgIHZpbWVvLm1vYmlsZSA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvID0gdmltZW8ubW9iaWxlIHx8IHt9OwogICAgVmltZW8uZGVza3RvcF9zaGFyZWQgPSBWaW1lby5kZXNrdG9wX3NoYXJlZCB8fCB7fTsKCiAgICAvLyBERVNLVE9QIEhBTkRMRVJTCgogICAgdmFyIGRlc2t0b3AgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9wbmF2X2Rlc2t0b3AnKTsKCiAgICAvLyBQcmV2ZW50IHRvdWNoIGRldmljZSB0byBoaWd0bGlnaHQgdGhlIGFyZWEgdGFwcGVkCiAgICBkZXNrdG9wLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBmdW5jdGlvbihlKXsKICAgICAgICAvLyBUYWtlIGludG8gY29uc2lkZXJhdGlvbiBhdmF0YXIgaW1nCiAgICAgICAgdmFyIHRhcmdldCA9IChlLnRhcmdldC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpbWcnKSA/IGUudGFyZ2V0LnBhcmVudE5vZGUgOiBlLnRhcmdldDsKCiAgICAgICAgaWYgKHRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ3RvcG5hdl9oYXNfZHJvcGRvd24nKSkgewogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgfQogICAgfSwgZmFsc2UpOwoKICAgIC8vIEFkZCBsYXN0X3BhZ2UgY29va2llCiAgICB2YXIgbGlzdGVuID0gJ29udG91Y2hzdGFydCcgaW4gd2luZG93ID8gJ3RvdWNoc3RhcnQnIDogd2luZG93LlBvaW50ZXJFdmVudCA/ICdwb2ludGVyZG93bicgOiB3aW5kb3cuTVNQb2ludGVyRXZlbnQgPyAnTVNQb2ludGVyRG93bicgOiAnY2xpY2snOwogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKGxpc3RlbiwgZnVuY3Rpb24oZSl7CiAgICAgICAgaWYgKGUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnanMtdG9wbmF2X21lbnVfYXV0aCcpKSB7CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9ICdsYXN0X3BhZ2U9JyArIGVuY29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpICsgJztwYXRoPVwnL1wnO21heC1hZ2U9MTgwMDsnOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBNT0JJTEUgSEFORExFUlMKCiAgICAvLyBUcmlnZ2VyIGlPUyBVcGxvYWQgZmxvdwogICAgVmltZW8uZGVza3RvcF9zaGFyZWQuX3VwbG9hZCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAvLyBzaG93IGlUdW5lcyBvbmx5IGlmIHdlIGFyZSBpbiBpT1Mgd29ybGQKICAgICAgICBpZiAoL2lQYWR8aVBob25lfGlQb2QvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpewogICAgICAgICAgICB2YXIgZGVlcGxpbmsgPSAndmltZW86Ly9hcHAudmltZW8uY29tL3VwbG9hZD9yZWY9bW9iaWxld2ViJywKICAgICAgICAgICAgICAgIGZhbGxiYWNrID0gJy91cGxvYWQnLAogICAgICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2ssCiAgICAgICAgICAgICAgICBoaXRDYWxsYmFjazsKCiAgICAgICAgICAgIC8vIENhbGxiYWNrcwogICAgICAgICAgICB3ZWJraXRIaWRkZW5DYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgLy8gSWYgdGhlIHVzZXIgaXMgc3RpbGwgaGVyZSBvcGVuIHRoZSB1cmwgcGFnZS4KICAgICAgICAgICAgICAgIGlmICghZG9jdW1lbnQud2Via2l0SGlkZGVuKSB7CiAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZmFsbGJhY2s7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH07CgogICAgICAgICAgICAvLyBUcnkgdG8gb3BlbiB0aGUgVmltZW8gQXBwCiAgICAgICAgICAgIGhpdENhbGxiYWNrID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBkZWVwbGluazsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQod2Via2l0SGlkZGVuQ2FsbGJhY2ssIDI1KTsKICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIGhpdENhbGxiYWNrKCk7CgogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBlLmhyZWY7CgogICAgfQoKCi8vIEFGVEVSIE1PQklMRSBOQVYgVEVTVCBSRUNPTkNJTEUgV0lUSCBUSEUgYG1vYmlsZV9tZW51X3NjcmlwdC5waHRtbGAKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gU3dpdGNoIHRvIGRlc2t0b3Agc2l0ZQogICAgVmltZW8uZGVza3RvcF9zaGFyZWQuX3MyZHMgPSBmdW5jdGlvbigpIHsKICAgICAgICBkb2N1bWVudC5jb29raWU9J29wdF9vdXRfbW9iaWxlPTE7ZXhwaXJlcz1GcmksIDMxIERlYyA5OTk5IDIzOjU5OjU5IEdNVDtkb21haW49JyArIHZpbWVvLmRvbWFpbjsKICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CiAgICB9OwoKICAgIC8vIFN3aXRjaCB0byBsYW5ndWFnZQogICAgVmltZW8uZGVza3RvcF9zaGFyZWQuX3MybCA9IGZ1bmN0aW9uKHNlbCkgewogICAgICAgIHZhciBsYW5nID0gc2VsLnZhbHVlLAogICAgICAgICAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCiAgICAgICAgeGhyLm9wZW4oJ1BPU1QnLCAnL3NldHRpbmdzL2xvY2FsZScpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdYLVJlcXVlc3RlZC1XaXRoJywgJ1hNTEh0dHBSZXF1ZXN0Jyk7CiAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKTsKICAgICAgICB4aHIuc2VuZCgnbG9jYWxlPScgKyBsYW5nICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwogICAgICAgIHhoci5vbmxvYWQgPSBmdW5jdGlvbiBwb3N0KCkgewogICAgICAgICAgICBpZiAoeGhyLnN0YXR1cyA9PT0gMjAwKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgfTsKCiAgICB2YXIgbW9iaWxlTWVudUVsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9sb2dvJyk7CiAgICBpZiAobW9iaWxlTWVudUVsZSkgewogICAgICAgIG1vYmlsZU1lbnVFbGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CgogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIC8vIE9wZW4gTWVudQogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfbWFpbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbicpOwogICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwoKICAgICAgICAgICAgLy8gQ2xvc2UgTWVudQogICAgICAgICAgICB2YXIgbW9iaWxlX2hlYWRlcl9jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZScpOwogICAgICAgICAgICBtb2JpbGVfaGVhZGVyX2Nsb3NlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IG1vYmlsZV9tZW51X21haW4ucXVlcnlTZWxlY3RvckFsbCgnLmpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QnKTsKICAgICAgICAgICAgICAgIGlmKHRvZ2dsZV9saXN0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LmZvckVhY2goZnVuY3Rpb24oZWwpewogICAgICAgICAgICAgICAgICAgICAgICBpZihlbC5jbGFzc0xpc3QuY29udGFpbnMoJ2V4cGFuZCcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdmFyIGFycm93X2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9hcnJvdycpOwogICAgICAgICAgICAgICAgaWYoYXJyb3dfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvd19saXN0LmZvckVhY2goZnVuY3Rpb24oZWwpewogICAgICAgICAgICAgICAgICAgICAgICBpZihlbC5jbGFzc0xpc3QuY29udGFpbnMoJ3JvdGF0ZScpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy8gVG9nZ2xlIFNldHRpbmdzCiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9zZXR0aW5ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncycpOwogICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICB2YXIgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzX2Nsb3NlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmpzLXRvcG5hdl9tb2JpbGVfaGVhZGVyX3NldHRpbnNfY2xvc2UnKTsKICAgICAgICAgICAgICAgIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9zZXR0aW5ncy5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X21haW4uc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAvL0Ryb3Bkb3duCiAgICAgICAgICAgIHZhciBtb2JpbGVfZHJvcGRvd25fdG9nZ2xlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmpzLXRvcG5hdl9tb2JpbGVfbWVudV90b2dnbGUnKTsKICAgICAgICAgICAgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZS5mb3JFYWNoKGZ1bmN0aW9uKGJ0bikgewogICAgICAgICAgICAgICAgYnRuLm9uY2xpY2sgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGJ1dHRvbiA9IGUudGFyZ2V0OwogICAgICAgICAgICAgICAgICAgIHZhciBhcnJvdyA9IGJ1dHRvbi5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgICAgICBpZihhcnJvdykgewogICAgICAgICAgICAgICAgICAgICAgICBpZihhcnJvdy5jbGFzc0xpc3QuY29udGFpbnMoJ3JvdGF0ZScpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycm93LmNsYXNzTGlzdC5hZGQoJ3JvdGF0ZScpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnQgPSBidXR0b24ucGFyZW50RWxlbWVudDsKICAgICAgICAgICAgICAgICAgICBpZihwYXJlbnQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRvZ2dsZV9saXN0ID0gcGFyZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRvZ2dsZV9saXN0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5jbGFzc0xpc3QuY29udGFpbnMoJ2V4cGFuZCcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LmNsYXNzTGlzdC5yZW1vdmUoJ2V4cGFuZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgZmFsc2UpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LmNsYXNzTGlzdC5hZGQoJ2V4cGFuZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0pOwogICAgICAgIH0sIGZhbHNlKTsKICAgIH07CgogICAgdmFyIG1vYmlsZUFsYnVtc0VsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9hbGJ1bXMnKTsKICAgIGlmIChtb2JpbGVBbGJ1bXNFbGUpIHsKICAgICAgICBtb2JpbGVBbGJ1bXNFbGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X2FsYnVtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3QnKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5hZGQoJ29wZW4nKTsKCiAgICAgICAgICAgIC8vIENsb3NlCiAgICAgICAgICAgIHZhciBtb2JpbGVfYWxidW1zX2Nsb3NlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmpzLXRvcG5hdl9tb2JpbGVfYWxidW1fbGlzdF9jbG9zZScpOwogICAgICAgICAgICBpZiAobW9iaWxlX2FsYnVtc19jbG9zZSkgewogICAgICAgICAgICAgICAgbW9iaWxlX2FsYnVtc19jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9hbGJ1bXMuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9LCBmYWxzZSk7CiAgICB9Owp9KSh3aW5kb3csIGRvY3VtZW50KTsKCi8vIF5eXl5eXl5eXl5eXl5eXl5eXl5eCi8vIEFGVEVSIE1PQklMRSBOQVYgVEVTVCBSRUNPTkNJTEUgV0lUSCBUSEUgYG1vYmlsZV9tZW51X3NjcmlwdC5waHRtbGAKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo8L3NjcmlwdD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3cmFwX2NvbnRlbnQgdmFyaWFudC12MiI+CiAgICAgICAgICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJhcHBfYmFubmVyX2NvbnRhaW5lciI+CgogICAgPGRpdiBjbGFzcz0iYXBwX2Jhbm5lciBoaWRlIGpzLWFwcF9iYW5uZXIiPgoKICAgICAgICA8YnV0dG9uIGNsYXNzPSJhcHBfYmFubmVyX2Nsb3NlIGpzLWFwcF9iYW5uZXJfY2xvc2UiPiZ0aW1lczs8L2J1dHRvbj4KCiAgICAgICAgPGRpdiBjbGFzcz0iYXBwX2Jhbm5lcl9pY29uX3dyYXBwZXIiPgogICAgICAgICAgICA8c3ZnIGNsYXNzPSJhcHBfYmFubmVyX2ljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjQgNi42NDNDMjQgMTEuMjg2IDE1IDIyIDEwLjg3NSAyMiA2IDIyIDYgNy43MTQgMy4wMTMgNy43MTRjLS4zODggMC0xLjg4MyAxLjA3LTEuODgzIDEuMDdMMCA3LjM1OHM1LjI1LTUgNy41LTVjNC41IDAgMyAxMi41IDUuNjI1IDEyLjUgMS41IDAgNi43NS03Ljg1NyAyLjI1LTcuODU3LS43NSAwLTEuNS4zNTctMS41LjM1N0MxNSAzLjc4NyAxNy4yNSAyIDIwLjYyNSAyIDIyLjg3NSAyIDI0IDMuNzg2IDI0IDYuNjQzeiIvPjwvc3ZnPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJhcHBfYmFubmVyX2N0YSI+CiAgICAgICAgICAgIFdhdGNoIGluIG91ciBhcHAgICAgICAgIDwvZGl2PgoKICAgICAgICA8YQogICAgICAgICAgICBjbGFzcz0iYXBwX2Jhbm5lcl9idXR0b24ganMtYXBwX2Jhbm5lcl9vcGVuX2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL21vYmlsZXJlZGlyZWN0cz90eXBlPXN0b3JlJmFwcD12aW1lbyZhZl9hZD12aW1lb193YXRjaF9pbl9vdXJfYXBwX2JsdWUmYWZfYWRzZXQ9YXBwX2Jhbm5lcl9zbWFsbCZhZl9kcD12aW1lbyUzQSUyRiUyRnZpZGVvcyUyRjc4NDg4NDYmYWZfZm9yY2VfZGVlcGxpbms9dHJ1ZSZjPWNsaXBfcGFnZV9hcHBfYmFubmVyJnBpZD12aW1lb19tb2JpbGVfd2ViIiAgICAgICAgPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXBwX2Jhbm5lcl9idXR0b25fdGV4dCI+T3BlbiBpbiBhcHA8L3NwYW4+CiAgICAgICAgPC9hPgoKICAgIDwvZGl2PgoKPC9kaXY+CgoKPHNjcmlwdD4KICAgIHdpbmRvdy52aW1lbyA9IHdpbmRvdy52aW1lbyB8fCB7fTsKCiAgICAKICAgIHdpbmRvdy52aW1lby5jbGlwX3BhZ2VfY29uZmlnID0geyJjbGlwIjp7ImlkIjo3ODQ4ODQ2LCJ0aXRsZSI6IklLT05TIC0gU0xPVyBMSUdIVCIsImRlc2NyaXB0aW9uIjoiPHAgY2xhc3M9XCJmaXJzdFwiPkFydGlzdDogSUtPTlMuPGJyPlxuVGl0bGU6IFNMT1cgTElHSFQuPGJyPlxuQ3JlYXRvcjogUGF0cmlrIEpvaGFuc3Nvbi48YnI+XG5MYWJlbDogU0VSVklDRS48YnI+XG48YSBocmVmPVwiaHR0cDpcL1wvd3d3LnNydmMuc2VcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyXCI+c3J2Yy5zZTxcL2E+PFwvcD5cbjxwPkFsYnVtICZxdW90O0lrb25zJnF1b3Q7IG91dCBub3cgQ0RcL0xQXC9TdHJlYW0gZnJvbSBTZXJ2aWNlPFwvcD4iLCJ1cGxvYWRlZF9vbiI6IjIwMDktMTEtMjcgMDY6MTk6MzkiLCJ1cGxvYWRlZF9vbl9yZWxhdGl2ZSI6IjE0IHllYXJzIGFnbyIsInVwbG9hZGVkX29uX2Z1bGwiOiJGcmlkYXksIE5vdmVtYmVyIDI3LCAyMDA5IGF0IDY6MTkgQU0gRVNUIiwiaXNfc3BhdGlhbCI6ZmFsc2UsImlzX2hkciI6ZmFsc2UsImlzX2hkcl8xMF9wbHVzIjpmYWxzZSwiaXNfZG9sYnlfdmlzaW9uIjpmYWxzZSwicHJpdmFjeSI6eyJpc19wdWJsaWMiOnRydWUsInR5cGUiOiJhbnlib2R5IiwiZGVzY3JpcHRpb24iOiJQdWJsaWMifSwiZHVyYXRpb24iOnsicmF3Ijo0OTQsImZvcm1hdHRlZCI6IjA4OjE0In0sImlzX2xpa2VkIjpmYWxzZSwiaXNfdW5hdmFpbGFibGUiOmZhbHNlLCJsaWtlc191cmwiOiJcLzc4NDg4NDZcL2xpa2VzIiwiaXNfbGl2ZSI6ZmFsc2UsInVubGlzdGVkX2hhc2giOm51bGx9LCJvd25lciI6eyJpZCI6MTk1NTc1LCJkaXNwbGF5X25hbWUiOiJTZXJ2aWNlIiwiaGFzX2FkdmFuY2VkX3N0YXRzIjpmYWxzZSwiaXNfcHJvX2xhcHNlZCI6ZmFsc2UsImlzX3BhaWQiOmZhbHNlLCJiYWRnZSI6bnVsbCwicG9ydHJhaXQiOnsic3JjIjoiaHR0cHM6XC9cL2kudmltZW9jZG4uY29tXC9wb3J0cmFpdFwvMTA1MTg2NV83NXg3NSIsInNyY18yeCI6Imh0dHBzOlwvXC9pLnZpbWVvY2RuLmNvbVwvcG9ydHJhaXRcLzEwNTE4NjVfMTUweDE1MCJ9LCJpc19tb2QiOmZhbHNlLCJ1cmwiOiJcL3NlcnZpY2UiLCJ2ZXJpZmllZCI6dHJ1ZSwiaXNfZm9sbG93aW5nIjpmYWxzZSwiaXNfYXZhaWxhYmxlX2Zvcl9oaXJlIjpudWxsfSwib25kZW1hbmQiOm51bGwsImJyYW5kX2NoYW5uZWwiOm51bGwsImFwaV91cmwiOiJhcGkudmltZW8uY29tIiwiand0IjoiZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LmV5SmxlSEFpT2pFMk9UZzBNemcwTWpBc0luVnpaWEpmYVdRaU9tNTFiR3dzSW1Gd2NGOXBaQ0k2TlRnME56a3NJbk5qYjNCbGN5STZJbkIxWW14cFl5QnpkR0YwY3lJc0luUmxZVzFmZFhObGNsOXBaQ0k2Ym5Wc2JIMC4tZGZpUkFXR21lQkVXdEJSMkZtOF9tTVFLVkhFNUdMTnZJN0lmM0tPbkpNIiwiY2hhdCI6bnVsbCwiY3VyX3VzZXIiOm51bGwsInN0YXR1cyI6eyJzdGF0ZSI6InJlYWR5In0sImNvcHlyaWdodF9zdGF0dXMiOnsiaXNfYmxvY2tlZCI6ZmFsc2V9LCJjb250ZW50X2Jsb2NrX3N0YXR1cyI6eyJpc19ibG9ja2VkIjpmYWxzZSwibWVzc2FnZSI6IlZpZGVvIGlzIG5vdCByYXRlZC4gTG9nIGluIHRvIHdhdGNoLiIsImNvbnRpbnVvdXNfcGxheV9lbmFibGVkIjpmYWxzZSwiYWxsb3dCeXBhc3MiOmZhbHNlLCJyZXF1aXJlTG9naW4iOnRydWUsInBvc3NpYmxlT2Zjb21CbG9jayI6dHJ1ZX0sInBsYXllciI6eyJjb25maWdfdXJsIjoiaHR0cHM6XC9cL3BsYXllci52aW1lby5jb21cL3ZpZGVvXC83ODQ4ODQ2XC9jb25maWc/YXV0b3BhdXNlPTEmYnlsaW5lPTAmY29sbGVjdGlvbnM9MSZjb250ZXh0PVZpbWVvJTVDQ29udHJvbGxlciU1Q0NsaXBDb250cm9sbGVyLm1haW4mZGVmYXVsdF90b19oZD0xJmg9NDY2ZWJkMmYzMyZvdXRybz1ub3RoaW5nJnBvcnRyYWl0PTAmc2hhcmU9MSZzcGVlZD0xJnRpdGxlPTAmd2F0Y2hfdHJhaWxlcj0wJnM9MmQzM2JkMjExNTQxNmYyYTkyNDkyY2RmMzgxY2NjMzY3MTg2MTIyY18xNjk4NDUyNzY5IiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20iLCJkaW1lbnNpb25zIjp7ImhlaWdodCI6NTQwLCJ3aWR0aCI6NzIwfSwicG9zdGVyIjp7InVybCI6Imh0dHBzOlwvXC9pLnZpbWVvY2RuLmNvbVwvdmlkZW9cLzM1MDE0NTg0LTQ0NjY1NjQyMWE5MzVmOWYyNTYzNzVmMWZhZTJkYzhhMmQ1MDAzMDMwOTk5YTIzNTYxYTc2YTRhZDVjZTFiZjEtZD9tdz0yMDAwJm1oPTEwODAmcT03MCJ9fSwic2hhcmVfZW5hYmxlZCI6dHJ1ZSwic2VuZF90b193aXBzdGVyX2VuYWJsZWQiOmZhbHNlLCJ0aHVtYm5haWwiOnsic3JjIjoiaHR0cHM6XC9cL2kudmltZW9jZG4uY29tXC92aWRlb1wvMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kXzE5MHgxMDciLCJzcmNfMngiOiJodHRwczpcL1wvaS52aW1lb2Nkbi5jb21cL3ZpZGVvXC8zNTAxNDU4NC00NDY2NTY0MjFhOTM1ZjlmMjU2Mzc1ZjFmYWUyZGM4YTJkNTAwMzAzMDk5OWEyMzU2MWE3NmE0YWQ1Y2UxYmYxLWRfMzgweDIxNCIsIndpZHRoIjoxOTAsImhlaWdodCI6MTA3LCJpZCI6MzUwMTQ1ODR9LCJhZHMiOnsiaG91c2VfYWRzX2VuYWJsZWQiOnRydWUsInRoaXJkX3BhcnR5X2Fkc19lbmFibGVkIjpmYWxzZX0sImNvbnRlbnRfcmF0aW5nIjp7InR5cGUiOiJ1bnJhdGVkIiwibWVzc2FnZSI6Ik5vdCBZZXQgUmF0ZWQiLCJkZXNjcmlwdGlvbiI6IiJ9LCJjb250ZW50X2FkdmVydGlzZW1lbnRfd2FybmluZyI6bnVsbCwibm90aWZpY2F0aW9ucyI6W10sImNhdGVnb3JpZXNfY29uZmlnIjp7ImNhdGVnb3JpZXMiOltdLCJ0b3RhbF9jYXRlZ29yaWVzIjowfSwibXVzaWNfdHJhY2siOm51bGwsImNjX2xpY2Vuc2UiOm51bGwsImdvb2dsZV9hcHBfaWQiOiI1OTkxNjg4MDY2OTctMXZhaWxmMHY2YWkwajA5dmExaGdhMGtybmQwbjN0bHEuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJjcmVkaXRzIjp7InRvdGFsX2NyZWRpdHMiOnsicmF3IjowLCJmb3JtYXR0ZWQiOjB9fSwic3RyZWFtIjp7ImlkIjpudWxsLCJwb3MiOjB9LCJjb2xsZWN0aW9uX2FkZGVyIjp7ImVuYWJsZWQiOnRydWV9LCJyZWNhcHRjaGFfc2l0ZV9rZXkiOiI2TGVSQ0x3U0FBQUFBT0oxYmFfeHFkM05CT2xWNVBfWFJXSlZFUGR3IiwiY2xpcF9zdGF0cyI6eyJlbmFibGVkIjpmYWxzZX0sImRvd25sb2FkX2NvbmZpZyI6bnVsbCwiaGFzX3Jldmlld19tb2RlcyI6ZmFsc2UsImRhdGFfbGF5ZXIiOnsiY2xpcF9pZCI6Nzg0ODg0NiwicGFnZV9wYXRoIjoiXC83ODQ4ODQ2IiwiY3JlYXRvcl9pZCI6MTk1NTc1LCJjcmVhdG9yX3VzZXJfdHlwZSI6ImJhc2ljIiwidmlkZW9fY2F0ZWdvcmllcyI6IiIsInByaXZhY3kiOiJhbnlib2R5Iiwic3RhZmZfcGljayI6Im5vIiwidXNlcl9pZCI6bnVsbCwicGFnZV90eXBlIjoiVmlkZW8ifSwiY2FuX2FkZF9yZWFjdGlvbl9vbl9jbGlwIjpmYWxzZX07CgogICAgLy8gQXV0b3BsYXkgdGVzdCBmb3Igb25zaXRlIHJlZmVycmFscyB0byBjbGlwIHBhZ2UKICAgIChmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIGNsaXAgPSB3aW5kb3cudmltZW8uY2xpcF9wYWdlX2NvbmZpZzsKICAgICAgICB2YXIgaXNPd25lciA9IGNsaXAuY3VyX3VzZXIgPyBjbGlwLmN1cl91c2VyLmlkID09PSBjbGlwLm93bmVyLmlkIDogZmFsc2U7CiAgICAgICAgdmFyIGhhc0F1dG9wbGF5UGFyYW0gPSAvKFw/fCYpYXV0b3BsYXk9MSgmfCQpLy50ZXN0KHdpbmRvdy5sb2NhdGlvbi5ocmVmKTsKICAgICAgICB2YXIgaGFzT25zaXRlUmVmZXJyZXIgPSB3aW5kb3cudmltZW9fZXNpLmNvbmZpZy5vbnNpdGVfcmVmZXJyZXI7CgogICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gYXV0b3BsYXkgcmVmcmVzaGVzIGFuZCBoaXN0b3J5IHRyYXZlcnNhbHMKICAgICAgICB2YXIgaXNOZXdQYWdlID0gd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZSA9PT0gMDsKCiAgICAgICAgLy8gSWYgd2UgcGFzcyBhbGwgdGhlIGNvbmRpdGlvbnMgb3ZlcnJpZGUgcGxheWVyIGNvbmZpZyB3aXRoIG5ldyBvbmUgaW5jbHVkaW5nIGF1dG9wbGF5IHBhcmFtCiAgICAgICAgaWYgKGlzTmV3UGFnZSAmJiBoYXNPbnNpdGVSZWZlcnJlciAmJiAhaGFzQXV0b3BsYXlQYXJhbSAmJiAhaXNPd25lcikgewogICAgICAgICAgICB3aW5kb3cudmltZW8uY2xpcF9wYWdlX2NvbmZpZy5wbGF5ZXIgPSB7ImNvbmZpZ191cmwiOiJodHRwczpcL1wvcGxheWVyLnZpbWVvLmNvbVwvdmlkZW9cLzc4NDg4NDZcL2NvbmZpZz9hdXRvcGF1c2U9MSZhdXRvcGxheT0xJmJ5bGluZT0wJmNvbGxlY3Rpb25zPTEmY29udGV4dD1WaW1lbyU1Q0NvbnRyb2xsZXIlNUNDbGlwQ29udHJvbGxlci5tYWluJmRlZmF1bHRfdG9faGQ9MSZoPTQ2NmViZDJmMzMmb3V0cm89bm90aGluZyZwb3J0cmFpdD0wJnNoYXJlPTEmc3BlZWQ9MSZ0aXRsZT0wJndhdGNoX3RyYWlsZXI9MCZzPWZjZTljYzU3ZmI3N2E1ZGNlNGI0MWZlNzk5OWYwZjAzYzM1NjY5NTVfMTY5ODQ1Mjc2OSIsInBsYXllcl91cmwiOiJwbGF5ZXIudmltZW8uY29tIiwiZGltZW5zaW9ucyI6eyJoZWlnaHQiOjU0MCwid2lkdGgiOjcyMH0sInBvc3RlciI6eyJ1cmwiOiJodHRwczpcL1wvaS52aW1lb2Nkbi5jb21cL3ZpZGVvXC8zNTAxNDU4NC00NDY2NTY0MjFhOTM1ZjlmMjU2Mzc1ZjFmYWUyZGM4YTJkNTAwMzAzMDk5OWEyMzU2MWE3NmE0YWQ1Y2UxYmYxLWQ/bXc9MjAwMCZtaD0xMDgwJnE9NzAifX07CiAgICAgICAgfQogICAgfSgpKTsKPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICBpZiAodHlwZW9mIHdpbmRvdy52aW1lbyA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIHdpbmRvdy52aW1lby5jbGlwcyA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICAgICAgICB3aW5kb3cudmltZW8uY2xpcHMgPSB3aW5kb3cudmltZW8uY2xpcHMgfHwge307CiAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICAgICAgeGhyLm9wZW4oJ0dFVCcsIHdpbmRvdy52aW1lby5jbGlwX3BhZ2VfY29uZmlnLnBsYXllci5jb25maWdfdXJsICwgdHJ1ZSk7CiAgICAgICAgICAgIHhoci5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lby5jbGlwc1snNzg0ODg0NiddID0gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0KTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgeGhyLndpdGhDcmVkZW50aWFscyA9IHRydWU7CiAgICAgICAgICAgIHhoci5zZW5kKCk7CiAgICAgICAgfQogICAgPC9zY3JpcHQ+Cgo8IS0tW2lmIGx0ZSBJRSA5XT4KICAgIDxzY3JpcHQ+d2luZG93LmxvY2F0aW9uID0gd2luZG93LmxvY2F0aW9uICsgJz9saXRlPTEnOzwvc2NyaXB0Pgo8IVtlbmRpZl0tLT4KCjxkaXYgaWQ9Im9uYm9hcmRpbmdfbW91bnQiPjwvZGl2PgoKPG1haW4gaWQ9Im1haW4iIGNsYXNzPSJpc19sb2FkaW5nIj4KICAgIDxkaXYgY2xhc3M9ImlyaXNfZ3JpZCBpcmlzX2dyaWRfZnA5NjAiPgogICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfbWFpbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXllcl9hcmVhIj4KICAgICAgICAgICAgICAgIDxub3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS92aWRlby8zNTAxNDU4NC00NDY2NTY0MjFhOTM1ZjlmMjU2Mzc1ZjFmYWUyZGM4YTJkNTAwMzAzMDk5OWEyMzU2MWE3NmE0YWQ1Y2UxYmYxLWQ/bXc9MTkyMCZhbXA7bWg9MTA4MCZhbXA7cT03MCIgYWx0PSIiIHN0eWxlPSJkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAwIGF1dG87IG1heC1oZWlnaHQ6IDU0MHB4OyIgLz4KICAgICAgICAgICAgICAgIDwvbm9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPG5vc2NyaXB0PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xpcF9tYWluLWNvbnRlbnQgaXJpc19ncmlkLXdyYXBwZXItLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlyaXNfZ3JpZC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IHUtY29sbGFwc2UgY2xpcC1ub3RpZmljYXRpb24iIHN0eWxlPSJtYXJnaW4tdG9wOiAxZW07IG1hcmdpbi1ib3R0b206IDEuNWVtOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbiBpcmlzX25vdGlmaWNhdGlvbi1jbGlwIGlyaXNfbm90aWZpY2F0aW9uLWNsaXAtLWNhdXRpb24gaXJpc19ub3RpZmljYXRpb24tLW5vLWNsb3NlIGNsZWFyZml4IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlBsZWFzZSBlbmFibGUgSmF2YVNjcmlwdCB0byBleHBlcmllbmNlIFZpbWVvIGluIGFsbCBvZiBpdHMgZ2xvcnkuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXJpc19ncmlkLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xpcF9pbmZvLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz0iY2xpcF9pbmZvLWhlYWRlciI+SUtPTlMgLSBTTE9XIExJR0hUPC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGlwX2luZm8tc3VibGluZS0td2F0Y2ggY2xpcF9pbmZvLXN1YmxpbmUtLWlubGluZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ1c2VyYnlsaW5lLXN1YmxpbmUgdXNlcmJ5bGluZS1zdWJsaW5lLS1sZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5mcm9tPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVzZXJsaW5rIHVzZXJsaW5rLS1tZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3NlcnZpY2UiPlNlcnZpY2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjbGlwX2luZm8tdGltZSI+PHRpbWUgZGF0ZXRpbWU9IjIwMDktMTEtMjdUMDY6MTk6MzktMDU6MDAiIHRpdGxlPSJGcmlkYXksIE5vdmVtYmVyIDI3LCAyMDA5IGF0IDY6MTkgQU0iPjE0IHllYXJzIGFnbzwvdGltZT48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaXBfZGV0YWlscyBpcmlzX2RpdmlkZXItLWRhcmsgaXJpc19kaXZpZGVyLXRvcCBpcmlzX2RpdmlkZXItdG9wLS1tIGlyaXNfZGl2aWRlci1ib3QgaXJpc19kaXZpZGVyLWJvdC0tbSB1LWNvbGxhcHNlIGNsZWFyZml4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXJpc19ncmlkLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xpcF9kZXRhaWxzLWRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLXdyYXBwZXIgaXJpc19kZXNjIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZmlyc3QiPkFydGlzdDogSUtPTlMuPGJyPgpUaXRsZTogU0xPVyBMSUdIVC48YnI+CkNyZWF0b3I6IFBhdHJpayBKb2hhbnNzb24uPGJyPgpMYWJlbDogU0VSVklDRS48YnI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuc3J2Yy5zZSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIgbm9yZWZlcnJlciI+c3J2Yy5zZTwvYT48L3A+CjxwPkFsYnVtICZxdW90O0lrb25zJnF1b3Q7IG91dCBub3cgQ0QvTFAvU3RyZWFtIGZyb20gU2VydmljZTwvcD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvbm9zY3JpcHQ+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9tYWluPgoKPHNjcmlwdD4KICAgIHdpbmRvdy5jYW5fcHJlbG9hZCA9IHRydWU7CgogICAgPC9zY3JpcHQ+CgogICAgPGRpdiBjbGFzcz0iaGlkZSI+CiAgICAgICAgPGRpdiBjbGFzcz0iYmxvY2sgZ3B0X2FkIiByb2xlPSJjb21wbGVtZW50YXJ5Ij4KICAgIAogICAgPGRpdiBpZD0iZGl2LWdwdC1hZC0xMjgzMjU1NTIyIj48L2Rpdj4KPC9kaXY+CiAgICA8L2Rpdj4KCjxzY3JpcHQ+CmNvbnNvbGUubG9nKCclYyBcblwK4o6cICAgICAgIEBAQCYgICAgICAgQEBAQEBAXG5cCuKOnCAgICAjQEBAQEBAQCAgICAmQEBAQEBAQEBcblwK4o6cICAjQEBAQEBAQEBALiAgJSUmQEBAQEBAQFxuXArijpwgICAgICAmQEBAQEAlICAgICAoQEBAQEAoXG5cCuKOnCAgICAgICBAQEBAQEAgICAgIEBAQEBAQFxuXArijpwgICAgICAgJUBAQEBAKCAgLkBAQEBAKFxuXArijpwgICAgICAgIEBAQEBAQChAQEBAQEBcblwK4o6cICAgICAgICAvQEBAQEBAQEBAQCUgICAgICAgICAgICBMaWtlIHBsYXlpbmcgd2l0aCB0ZWNobm9sb2d5P1xuXArijpwgICAgICAgICAmQEBAQEBAQCUgICAgICAgICAgICAgIGh0dHBzOi8vdmltZW8uY29tL2pvYnNcblwK4o6cICAgICAgICAgIEBAQEBAI1xuXApcblwKJywgJ2NvbG9yOiAjMDBhZGVmOycpOwo8L3NjcmlwdD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPGZvb3RlciBjbGFzcz0iZm9vdGVyX3YyIGZvb3Rlcl92Mi0tcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fc2l0ZW1hcCI+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xvZ28iPgogICAgICAgIDxzdmcgYWx0PSJWaW1lbyIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI0MCI+PHBhdGggZD0iTTIyLjQ0OCAxNC41NzVjLS4xMDQgMi4xNy0xLjYxOCA1LjE0Ni00LjU0NCA4LjkxMi0zLjAzIDMuOTQyLTUuNTkgNS45MTItNy42ODYgNS45MTItMS4yOTcgMC0yLjM5Ny0xLjIwNC0zLjMtMy42LS42LTIuMi0xLjIwMi00LjM5OC0xLjc5NC02LjU5OC0uNjY0LTIuMzk2LTEuMzgtMy42LTIuMTQ3LTMuNi0uMTY2IDAtLjc0Ny4zNTQtMS43NTMgMS4wNWwtMS4wNDgtMS4zNWMxLjEtLjk2NSAyLjE5LTEuOTMgMy4yNTctMi45MDUgMS40NjMtMS4yNjUgMi41NzMtMS45NCAzLjMtMi4wMDIgMS43MzItLjE2NiAyLjggMS4wMTcgMy4yMDUgMy41NTguNDM1IDIuNzQuNzM2IDQuNDQuOTAyIDUuMTE1LjQ5OCAyLjI3IDEuMDQ4IDMuNDAyIDEuNjUgMy40MDIuNDY2IDAgMS4xNzItLjczNyAyLjEwNS0yLjIxLjkzNC0xLjQ3MyAxLjQzMi0yLjU5MyAxLjUwNC0zLjM3LjEzMy0xLjI3Ny0uMzY1LTEuOTEtMS41MDYtMS45MS0uNTMgMC0xLjA4LjEyNS0xLjY1LjM2NCAxLjEtMy41OSAzLjE4Ni01LjMzMyA2LjI3Ny01LjIzIDIuMjczLjA3MyAzLjM1IDEuNTU2IDMuMjI3IDQuNDZtMTMuNzU1IDcuMDM0Yy0uOTMzIDEuNzY0LTIuMjIgMy4zNy0zLjg2IDQuODAzLTIuMjQgMS45My00LjQ3IDIuOTA1LTYuNyAyLjkwNS0xLjAzNy4wMDItMS44MjYtLjMzLTIuMzc2LS45OTQtLjU1LS42NjMtLjgxLTEuNTM1LS43NzctMi42MDMuMDMtMS4xLjM3Mi0yLjggMS4wMjUtNS4xMDQuNjU0LTIuMzAzLjk3Ni0zLjUzNy45NzYtMy43MDMgMC0uODYtLjMtMS4yOTctLjkwMi0xLjI5Ny0uMTk4IDAtLjc3LjM1My0xLjcwMiAxLjA0OGwtMS4xNTItMS4zNWMxLjA3LS45NjIgMi4xMzctMS45MjcgMy4yMDYtMi45MDIgMS40My0xLjI2NiAyLjUtMS45NCAzLjIwNS0yLjAwMiAxLjEtLjEwMyAxLjkxLjIzIDIuNDI4Ljk3Ni41MTguNzQ3LjcwNSAxLjcyMi41OCAyLjkxNS0uNDM1IDIuMDM0LS45MDIgNC42MDctMS40IDcuNzMtLjAzIDEuNDMuNDg4IDIuMTQ2IDEuNTU2IDIuMTQ2LjQ2NyAwIDEuMjk3LS40OTggMi41LTEuNDgzLjk5Ni0uODIgMS44MTUtMS41OTggMi40NS0yLjMyNGwuOTQyIDEuMjQ0bS00LjM1Ny0xNy44Yy0uMDMuODMtLjQ0NiAxLjYyOC0xLjI1NSAyLjM5NS0uOS44Ni0xLjk3IDEuMjk2LTMuMjA0IDEuMjk2LTEuOSAwLTIuODIyLS44My0yLjc1LTIuNDkuMDMyLS44Ni41NC0xLjY5IDEuNTI2LTIuNDkuOTg1LS43OTcgMi4wNzQtMS4xOSAzLjI3OC0xLjE5LjcwNSAwIDEuMjg2LjI3IDEuNzUzLjgyLjQ2Ny41NC42ODQgMS4xLjY1MyAxLjY2bTM1LjYxMiAxNy44Yy0uOTMzIDEuNzYzLTIuMjIgMy4zNy0zLjg2IDQuODAyLTIuMjQgMS45My00LjQ3IDIuOTA0LTYuNyAyLjkwNC0yLjE2OC4wMDItMy4yMTYtMS4yMDItMy4xNTMtMy41OTguMDMtMS4wNy4yMzgtMi4zNTUuNjIyLTMuODUuMzg0LTEuNTAzLjU5LTIuNjY1LjYyMy0zLjUwNS4wMy0xLjI2NS0uMzUzLTEuODk4LTEuMTUyLTEuODk4LS44NyAwLTEuOTEgMS4wMzYtMy4xMTIgMy4xLTEuMjc2IDIuMTY4LTEuOTYgNC4yNzQtMi4wNjQgNi4zMDgtLjA3MyAxLjQzLjA3MiAyLjU0LjQyNSAzLjI5OC0yLjMyNC4wNjQtMy45NjMtLjMyLTQuODg2LTEuMTUtLjgzLS43MzctMS4yMTItMS45NS0xLjE1LTMuNjUyLjAzLTEuMDY4LjE5OC0yLjEzNy40ODgtMy4yMDUuMjktMS4wNy40NTctMi4wMjMuNDg4LTIuODUzLjA2Mi0xLjIzNC0uMzg0LTEuODU3LTEuMzUtMS44NTctLjg0IDAtMS43NC45NTUtMi43MDYgMi44NTMtLjk2NiAxLjktMS41MDUgMy44OS0xLjYxIDUuOTU2LS4wNiAxLjg2Ny4wNTMgMy4xNzQuMzY0IDMuOS0yLjI5My4wNjItMy45Mi0uNDE1LTQuODc2LTEuNDUyLS43OTgtLjg2LTEuMTYtMi4xOC0xLjEtMy45NDIuMDMyLS44Ni4xODgtMi4wNzUuNDU3LTMuNjIuMjgtMS41NDYuNDI1LTIuNzUuNDU3LTMuNjIuMDYyLS42MDMtLjA4My0uOTAzLS40NDYtLjkwMy0uMTk3IDAtLjc2OC4zNC0xLjcwMiAxLjAxNWwtMS4yMDMtMS4zNDhjLjE2OC0uMTM1IDEuMjE2LTEuMSAzLjE1Ni0yLjkwNSAxLjQtMS4yOTcgMi4zNTQtMS45NyAyLjg1Mi0yLjAwMi44NzItLjA3MyAxLjU2Ny4yOSAyLjEwNiAxLjA4LjUzLjc4Ny44IDEuNjkuOCAyLjcyNyAwIC4zMzItLjAzMi42NTQtLjEwNS45NTQuNDk3LS43NjYgMS4wOC0xLjQzIDEuNzUyLTIgMS41MzctMS4zNCAzLjI2LTIuMDg2IDUuMTU3LTIuMjUyIDEuNjQtLjEzNSAyLjguMjUgMy41MDUgMS4xNTIuNTcuNzM2LjgzIDEuNzg0LjggMy4xNTMuMjM3LS4xOTguNDg2LS40MTYuNzQ2LS42NTQuNzY3LS45MDMgMS41MTQtMS42MiAyLjI1LTIuMTQ4IDEuMjM1LS45MDIgMi41Mi0xLjQgMy44Ni0xLjUwNCAxLjU5Ny0uMTM1IDIuNzUuMjUgMy40NTQgMS4xNTIuNjAyLjcyNi44NyAxLjc3NC44IDMuMTQzLS4wMzIuOTMzLS4yNiAyLjI4LS42NzUgNC4wNjUtLjQxNiAxLjc3My0uNjI0IDIuOC0uNjI0IDMuMDctLjAzLjY5NS4wMyAxLjE4Mi4xOTcgMS40NDIuMTY2LjI3LjU3LjM5NCAxLjIwMy4zOTQuNDY3IDAgMS4yOTctLjQ5NyAyLjUtMS40ODIuOTk2LS44MiAxLjgxNi0xLjU5OCAyLjQ1LTIuMzI0bC45NjMgMS4yNTRtMTguNzY1LS4wNTJjLS45NjUgMS41OTgtMi44NzQgMy4xOTUtNS43MDYgNC43OTMtMy41MzggMi4wMzItNy4xMjcgMy4wNS0xMC43NTggMy4wNS0yLjcwNiAwLTQuNjM2LS45MDQtNS44MDgtMi43LS44My0xLjIzMy0xLjIzNC0yLjY5Ni0xLjIwMy00LjQwNy4wMy0yLjY5OCAxLjIzNC01LjI3IDMuNi03LjcxIDIuNjAzLTIuNjY1IDUuNjc0LTQuMDAzIDkuMjEtNC4wMDMgMy4yNyAwIDUgMS4zMjggNS4yMDggMy45OTQuMTM1IDEuNzAyLS43OTggMy40NDUtMi44IDUuMjQtMi4xMzcgMS45Ni00LjgyNCAzLjIxNS04LjA2IDMuNzQ0LjYuODMgMS41MDQgMS4yNDUgMi43MDcgMS4yNDUgMi4zOTYgMCA1LjAyLS42MTMgNy44NjMtMS44MzcgMi4wMzMtLjg2IDMuNjMtMS43NTMgNC44MDMtMi42NzZsLjk0NSAxLjI2NW0tMTEuMzYtNS4yMjhjLjAzMi0uODkyLS4zMy0xLjM1LTEuMS0xLjM1LS45OTQgMC0yLjAxLjY4Ni0zLjA0OCAyLjA2Ni0xLjAzOCAxLjM4LTEuNTY3IDIuNjk3LTEuNTk4IDMuOTYyLS4wMiAwLS4wMi4yMTggMCAuNjQzIDEuNjMtLjYgMy4wNS0xLjUxNCA0LjI0Mi0yLjczOC45NjYtMS4wNTggMS40NjMtMS45MiAxLjUwNS0yLjU4M20yNC45NDYgMS44NjhjLS4xMzUgMy4wNzItMS4yNjUgNS43MTctMy40MDIgNy45NDctMi4xMzUgMi4yMy00Ljc5IDMuMzUtNy45NTUgMy4zNS0yLjYzNSAwLTQuNjM3LS44NS02LjAwNi0yLjU1LS45OTctMS4yNjctMS41NTctMi44NTQtMS42NS00Ljc1Mi0uMTY2LTIuODYzLjg2LTUuNDk4IDMuMS03Ljg5NCAyLjQwOC0yLjY2NSA1LjQyNy0zLjk5MyA5LjA1Ny0zLjk5MyAyLjMzNCAwIDQuMDk4Ljc4OCA1LjMgMi4zNDQgMS4xMzIgMS40NDMgMS42NSAzLjI5IDEuNTU3IDUuNTVtLTUuNjY0LS4xODVjLjAzLS45MDMtLjA5NC0xLjczMy0uMzc0LTIuNDgtLjI4LS43NDctLjY5NS0xLjEzLTEuMjI0LTEuMTMtMS43MDIgMC0zLjEwMi45MjMtNC4yMDIgMi43Ni0uOTMzIDEuNTAzLTEuNDMgMy4xMS0xLjUwNCA0LjgxMi0uMDMuODQuMTE0IDEuNTc3LjQ0NiAyLjIxLjM2NC43MzYuODgyIDEuMSAxLjU1NiAxLjEgMS41MDUgMCAyLjc5LS44ODMgMy44Ni0yLjY1Ni44OTItMS40NzIgMS4zOC0zLjAwOCAxLjQ0LTQuNjE1aC4wMDJ6IiBmaWxsPSIjMTEyMjMzIi8+PC9zdmc+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fbGlua3MiPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlVzZSBjYXNlczwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX3JldmVhbCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaXJpc19pYyBpcy0tMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDggOCI+PHBhdGggZD0iTTcuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwTDQgNC41ODYgMS43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDAtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgM2MuMzkuMzkgMS4wMjQuMzkgMS40MTQgMGwzLTNjLjM5LS4zOS4zOS0xLjAyNCAwLTEuNDE0eiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDQ+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWxpc3QgZm9vdGVyX3YyX2FjY29yZGlvbl9fbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbnRlcnByaXNlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50ZXJwcmlzZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOnNtYWxsX2J1c2luZXNzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc29sdXRpb25zL2NyZWF0aXZlLXByb2Zlc3Npb25hbHMtc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6Y3JlYXRpdmVfcHJvZmVzc2lvbmFscyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgcHJvZmVzc2lvbmFscyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc29sdXRpb25zL2ZpdG5lc3Mtc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6Zml0bmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRml0bmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc29sdXRpb25zL2ZhaXRoLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZhaXRoIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWl0aCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc29sdXRpb25zL2VkdWNhdGlvbi1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplZHVjYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVkdWNhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL2Vjb21tZXJjZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVjb21tZXJjZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWNvbW1lcmNlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUvcmVhbC1lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpyZWFsX2VzdGF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhbCBlc3RhdGUgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlByb2R1Y3Q8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcmFjdGl2ZSBWaWRlbyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvdmlkZW8tZWRpdG9yIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmlkZW9fZWRpdG9yfGtleXdvcmQ6dmlkZW9fZWRpdG9yIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbmxpbmUgVmlkZW8gRWRpdG9yICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9hdXRvLWNhcHRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYXV0b19jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmF1dG9fY2MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dG8gQ2FwdGlvbmluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua193ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOndlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYmluYXIgU29mdHdhcmUgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpcnR1YWwtZXZlbnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpcnR1YWxfZXZlbnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfZXZlbnRzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaXJ0dWFsIEV2ZW50cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3BsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFBsYXllciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnZpZGVvX2xpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIExpYnJhcnkgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19jcmVhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6Y3JlYXRlIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGUgVmlkZW8gTWFrZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbGl2ZV9zdHJlYW1pbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpdmUgU3RyZWFtaW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9zY3JlZW4tcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2NyZWVuX3JlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnNjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NyZWVuIFJlY29yZGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6cHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gUHJpdmFjeSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19jb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIENvbGxhYm9yYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLW1hcmtldGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kaXN0cmlidXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6ZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBNYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dD9ta2M9ZW50cHJzYiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19tb25ldGl6YXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6bW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6YW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBBbmFseXRpY3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2hvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6aG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gSG9zdGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZm9yLWhpcmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZm9yX2hpcmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmZvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIaXJlIFZpZGVvIFByb3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ZpbWVvLmNvbS9oZWxwL3plbmRlc2tfc3NvP3JlZGlyZWN0X3RvPWh0dHBzOi8vaGVscC52aW1lby5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2hlbHBfY2VudGVyX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpoZWxwX2NlbnRlciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCBDZW50ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmltZW9fYmxvZ19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmltZW9fYmxvZyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ZpbWVvLmNvbS9jdXN0b21lcnMvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdXJfY3VzdG9tZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpjdXN0b21lcl9sb2dvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3VyIEN1c3RvbWVycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ZpbWVvLmNvbS9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbC8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fc2Nob29sX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDp2aWRlb19zY2hvb2wiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ZpbWVvLmNvbS9vdHQvcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX290dF9yZXNvdXJjZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOm90dF9yZXNvdXJjZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9UVCBSZXNvdXJjZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2RldmVsb3BlcnNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOmRldmVsb3BlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmVsb3BlcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3BhcnRuZXJzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3BhcnRuZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnBhcnRuZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlY29tZSBhIFBhcnRuZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmltZW9fZXhwZXJ0cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmltZW9fZXhwZXJ0cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSm9pbiBWaW1lbyBFeHBlcnRzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9oZWxwL2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmltZW9fZ3VpZGVsaW5lc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmltZW9fZ3VpZGVsaW5lcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgR3VpZGVsaW5lcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPkFwcHM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9hcHBsZS1zdG9yZS9pZDEzNTY2ODY3NjM/cHQ9NDE3NzMxJmFtcDtjdD1sb2hwJmFtcDttdD04IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFjb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBtYWNPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL2FwcC9hcHBsZS1zdG9yZS9pZDQyNTE5NDc1OT9wdD00MTc3MzEmYW1wO2N0PWVudGVycHJpc2VfbW9iaWxlX2NvbW1zX0xQJmFtcDttdD04IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6aW9zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCZhbXA7aGw9ZW5fVVMmYW1wO2dsPVVTJmFtcDtwbGk9MSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmFuZHJvaWQiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBBbmRyb2lkICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYXBwcy5hcHBsZS5jb20vdXMvYXBwL3ZpbWVvL2lkNDI1MTk0NzU5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6Y3JlYXRlX2lvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gQ3JlYXRlIGZvciBpT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS52aW1lby5hbmRyb2lkLnZpZGVvYXBwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6Y3JlYXRlX2FuZHJvaWQiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5tYWdpc3RvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDptYWdpc3RvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWdpc3RvICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYXBwcy5zaG9waWZ5LmNvbS92aW1lb19wcm9kdWN0X3ZpZGVvX21ha2VyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6dmltZW9fc2hvcGlmeSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIFNob3BpZnkgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ludGVncmF0aW9ucy96b29tIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6dmltZW9fZm9yX3pvb20iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBab29tICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+VmltZW88L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvdXBncmFkZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOnByaWNpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvdXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3VwbG9hZF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDp1cGxvYWQiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgVXBsb2FkICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3N0YWZmX3BpY2tzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOnN0YWZmX3BpY2tzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFN0YWZmIFBpY2tzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vbmRlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vbl9kZW1hbmRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b25fZGVtYW5kIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb3R0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpvdHQiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gT1RUICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9zaXRlX21hcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zaXRlX21hcF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzaXRlX21hcCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTaXRlIG1hcCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvYWJvdXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYWJvdXRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6YWJvdXRfdmltZW8iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgQWJvdXQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2ludmVzdG9yX3JlbGF0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDppbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgSW52ZXN0b3IgUmVsYXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcHJlc3MudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBQcmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2FyZWVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19qb2JzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmpvYnMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgSm9icyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgo8c2NyaXB0PgogICAgY29uc3QgZm9vdGVyQWNjb3JkaW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2snKTsKCiAgICBpZiAoZm9vdGVyQWNjb3JkaW9uKSB7CiAgICAgICAgd2luZG93Lm9udW5sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9vdGVyQWNjb3JkaW9uLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBpZiAoZm9vdGVyQWNjb3JkaW9uW2ldLnR5cGUgPT09ICdjaGVja2JveCcpIHsKICAgICAgICAgICAgICAgICAgICBmb290ZXJBY2NvcmRpb25baV0uY2hlY2tlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfTsKICAgICAgICB9OwogICAgfTsKPC9zY3JpcHQ+CiAgICAKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnkgIj4KCiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICAgICAgPHA+JmNvcHk7IDIwMjMgVmltZW8uY29tLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0Ij4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvdGVybXMiIHRpdGxlPSJUZXJtcyAmYW1wOyBDb25kaXRpb25zIj4KICAgICAgICAgICAgICAgICAgICBUZXJtcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3ByaXZhY3kiIHRpdGxlPSJQcml2YWN5IFBvbGljeSI+CiAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaSBpZD0iZG8tbm90LXNlbGwtaXRlbSIgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIGhpZGRlbiI+CiAgICAgICAgICAgICAgICA8YSBpZD0iZG8tbm90LXNlbGwiIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIHRpdGxlPSJEbyBOb3QgU2VsbCBNeSBQZXJzb25hbCBJbmZvcm1hdGlvbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmb290ZXJ8a2V5d29yZDpkb19ub3Rfc2VsbF9teV9wZXJzb25hbF9pbmZvcm1hdGlvbnx0YXJnZXQ6dHJhbnNjZW5kX2RpYWxvZ3VlX2JveCI+CiAgICAgICAgICAgICAgICAgICAgRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24gICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5L2NhbGlmb3JuaWEtcHJpdmFjeSIgdGl0bGU9IkNBIFByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgIENBIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9kbWNhIiB0aXRsZT0iQ29weXJpZ2h0IEluZm9ybWF0aW9uIj4KICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9jb29raWVfcG9saWN5IiB0aXRsZT0iTGVhcm4gbW9yZSBhYm91dCBob3cgVmltZW8gdXNlcyBjb29raWVzIj4KICAgICAgICAgICAgICAgICAgICBDb29raWVzICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICA8L3VsPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19maWx0ZXJzIGZvb3Rlcl92Ml9fYXV4aWxpYXJ5LWNvbnRlbnQiPgogICAgICAgIDxzcGFuIGNsYXNzPSJsYW5ndWFnZSI+CiAgICAgICAgICAgIExhbmd1YWdlOgogICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIjbGFuZ3VhZ2UiIG9uY2xpY2s9InZpbWVvLk1vZGFsLmNyZWF0ZSh7Y29udGVudDogJy9zZXR0aW5ncy9sb2NhbGUnLCBzaXplOiAnc21hbGwnfSk7IHJldHVybiBmYWxzZTsiIHRpdGxlPSJDaG9vc2UgYSBkaWZmZXJlbnQgbGFuZ3VhZ2UiPkVuZ2xpc2g8L2E+CiAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19maWx0ZXIiPk1hdHVyZSBjb250ZW50IGZpbHRlcjogPC9zcGFuPjxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUgZm9vdGVyX3YyX19maWx0ZXJzX19sYW5nIGNvbnRlbnRmaWx0ZXIganMtZm9vdGVyX2NvbnRlbnRmaWx0ZXJfbGluayIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvY29udGVudHJhdGluZyd9KSIgdGl0bGU9IkNoYW5nZSB5b3VyIG1hdHVyZSBjb250ZW50IGZpbHRlciI+Tm9uZTwvYT4KICAgICAgICAgICAgPC9kaXY+Cgo8L3NlY3Rpb24+CjwhLS0gRG8gbm90IHNlbGwgbGluayBidXR0b24gZm9yIENhbGlmb3JuaWEgdXNlcnMgLS0+CjxzY3JpcHQgZGF0YS1jZmFzeW5jPSJmYWxzZSIgZGF0YS1kaXNtaXNzZWQtdmlldy1zdGF0ZT0iSGlkZGVuIiBkYXRhLXRhbXBlci1yZXNpc3Q9Im9mZiIKICAgIHNyYz0iaHR0cHM6Ly9jZG4udHJhbnNjZW5kLmlvL2NtLzMxZTk3Y2JmLTM1NWMtNGYwZC04YmFkLTljZDk0NTEyMTUwOC9haXJnYXAuanMiPgo8L3NjcmlwdD4KPC9mb290ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KICAgICAgICBbeyJ1cmwiOiJodHRwczovL3ZpbWVvLmNvbS83ODQ4ODQ2IiwidGh1bWJuYWlsVXJsIjoiaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS92aWRlby8zNTAxNDU4NC00NDY2NTY0MjFhOTM1ZjlmMjU2Mzc1ZjFmYWUyZGM4YTJkNTAwMzAzMDk5OWEyMzU2MWE3NmE0YWQ1Y2UxYmYxLWQ/Zj13ZWJwIiwiZW1iZWRVcmwiOiJodHRwczovL3BsYXllci52aW1lby5jb20vdmlkZW8vNzg0ODg0Nj9oPTQ2NmViZDJmMzMiLCJuYW1lIjoiSUtPTlMgLSBTTE9XIExJR0hUIiwiZGVzY3JpcHRpb24iOiJBcnRpc3Q6IElLT05TLiBUaXRsZTogU0xPVyBMSUdIVC4gQ3JlYXRvcjogUGF0cmlrIEpvaGFuc3Nvbi4gTGFiZWw6IFNFUlZJQ0UuIHd3dy5zcnZjLnNlICBBbGJ1bSAmcXVvdDtJa29ucyZxdW90OyBvdXQgbm93IENEL0xQL1N0cmVhbSBmcm9tIFNlcnZpY2UiLCJoZWlnaHQiOjQ4MCwid2lkdGgiOjY0MCwicGxheWVyVHlwZSI6IkhUTUw1IEZsYXNoIiwidmlkZW9RdWFsaXR5IjoiU0QiLCJ1cGxvYWREYXRlIjoiMjAwOS0xMS0yN1QwNjoxOTozOS0wNTowMCIsImRhdGVNb2RpZmllZCI6IjIwMjItMDctMDFUMDY6MDU6MTAtMDQ6MDAiLCJ0aHVtYm5haWwiOnsiQHR5cGUiOiJJbWFnZU9iamVjdCIsInVybCI6Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vdmlkZW8vMzUwMTQ1ODQtNDQ2NjU2NDIxYTkzNWY5ZjI1NjM3NWYxZmFlMmRjOGEyZDUwMDMwMzA5OTlhMjM1NjFhNzZhNGFkNWNlMWJmMS1kP2Y9d2VicCIsIndpZHRoIjoxMjgwLCJoZWlnaHQiOjk2MH0sImF1dGhvciI6eyJAdHlwZSI6IlBlcnNvbiIsIm5hbWUiOiJTZXJ2aWNlIiwidXJsIjoiaHR0cHM6Ly92aW1lby5jb20vc2VydmljZSJ9LCJwb3RlbnRpYWxBY3Rpb24iOnsiQHR5cGUiOiJWaWV3QWN0aW9uIiwidGFyZ2V0IjoidmltZW86Ly9hcHAudmltZW8uY29tL3ZpZGVvcy83ODQ4ODQ2In0sImR1cmF0aW9uIjoiUFQwMEgwOE0xNFMiLCJAdHlwZSI6IlZpZGVvT2JqZWN0IiwiQGNvbnRleHQiOiJodHRwOi8vc2NoZW1hLm9yZyJ9LHsiaXRlbUxpc3RFbGVtZW50IjpbeyJAdHlwZSI6Ikxpc3RJdGVtIiwicG9zaXRpb24iOjEsIml0ZW0iOnsiQGlkIjoiaHR0cHM6Ly92aW1lby5jb20vc2VydmljZSIsIm5hbWUiOiJTZXJ2aWNlIn19LHsiQHR5cGUiOiJMaXN0SXRlbSIsInBvc2l0aW9uIjoyLCJpdGVtIjp7IkBpZCI6Imh0dHBzOi8vdmltZW8uY29tL3NlcnZpY2UvdmlkZW9zIiwibmFtZSI6IlZpZGVvcyJ9fV0sIkB0eXBlIjoiQnJlYWRjcnVtYkxpc3QiLCJAY29udGV4dCI6Imh0dHA6Ly9zY2hlbWEub3JnIn1dICAgIDwvc2NyaXB0PgoKPHNjcmlwdD4KICAgIHZhciBfX2ZhID0gX19mYSB8fCBbXTsKICAgIC8qKgogICAgICogQmVjYXVzZSBzaW5nbGUgcGFnZSBhcHBsaWNhdGlvbnMgc3VjaCBhcyB0aGUgYXBwIHNoZWxsIHdpbGwgYmUgdHJhY2tpbmcKICAgICAqIEZhdGFsIEF0dHJhY3Rpb24gcGFnZSB2aWV3cyBvbiBSZWFjdCBsaWZlY3ljbGUgaG9va3MgKGNvbXBvbmVudERpZE1vdW50KQogICAgICogd2Ugd2FudCB0byBhdm9pZCBkaXNwYXRjaGluZyB0aGUgcGFnZXZpZXcgZXZlbnQgZnJvbSB0aGUgUEhQIHRlbXBsYXRlCiAgICAgKiBhbmQgZGVmZXIgdGhpcyBzb3J0IG9mIHRyYWNraW5nIGxvZ2ljIHRvIHRoZSBmcm9udCBlbmQuCiAgICAgKgogICAgICogVGhpcyBjaGVjayBhbGxvd3MgdXMgdG8gZGVjbGFyZSBpbiBhIGNvbnRyb2xsZXIgd2hldGhlciBvciBub3Qgd2UKICAgICAqIHdhbnQgdG8gZGlzcGF0Y2ggdGhhdCBwcmVsaW1pbmFyeSBwYWdldmlldy4KICAgICAqCiAgICAgKiBUaGUgcHJvcGVydHkgaXMgYWRkaXRpdmUgb25seSwgYXMgdG8gbm90IGFmZmVjdCBleGlzdGluZyBwYWdldmlld3MuCiAgICAgKi8KICAgICAgICAgICAgX19mYS5wdXNoKFsndHJhY2tQYWdldmlldyddKTsKICAgIAogICAgLyoqCiAgICAgKiBBZGQgc2VydmVyIHNpZGUgQUJMaW5jb2xuIGV4cGVyaW1lbnRzIHRvIEdUTSBkYXRhIGxheWVyLgogICAgICovCiAgICAKICAgICAgICB2YXIgX2V4dGVuZCA9IGZ1bmN0aW9uKCl7Zm9yKHZhciByPWFyZ3VtZW50c1swXSxuPTEsZT1hcmd1bWVudHMubGVuZ3RoO2U+bjtuKyspe3ZhciB0PWFyZ3VtZW50c1tuXTtmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiYoclthXT10W2FdKX1yZXR1cm4gcn07CgogICAgICAgIHZhciBDU1NfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvJywKICAgICAgICBKU19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvJywKICAgICAgICBJTUFHRV9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvJywKICAgICAgICBGT05UX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL2ZvbnRzLycsCiAgICAgICAgU1ZHX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N2Zy8nLAogICAgICAgICAgICAgICAgQlVJTERfSEFTSCA9ICcyY2RiYSc7CgogICAgCiAgICAgICAgdmFyIHZpbWVvID0gX2V4dGVuZCgod2luZG93LnZpbWVvIHx8IHt9KSwgeyJhcHBfdmVyc2lvbiI6InY2IiwiZG9tYWluIjoidmltZW8uY29tIiwidXJsIjoidmltZW8uY29tIiwiY3VyX3VzZXIiOmZhbHNlLCJvcmlnaW5fdXNlcl9pZCI6bnVsbCwib3JpZ2luX3VzZXIiOmZhbHNlLCJpc19tb2JpbGUiOmZhbHNlLCJpc19yZWNvcmRfdG9vbF9zdXBwb3J0ZWQiOmZhbHNlfSk7CiAgICB2aW1lby5jb25maWcgPSBfZXh0ZW5kKCh2aW1lby5jb25maWcgfHwge30pLCB7InN0aWNreV90b3BuYXYiOnsiZXhjbHVkZWRfcGFnZXMiOlsiVmltZW9cXENvbnRyb2xsZXJcXEFib3V0Q29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXEFib3V0Q29udHJvbGxlcjpwcm9mZXNzaW9uYWxzIiwiVmltZW9cXENvbnRyb2xsZXJcXEhvbWVDb250cm9sbGVyOnVwZ3JhZGUiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvcmVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcVXNlclxcU2V0dGluZ3MyQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6dGVhbV9tZW1iZXJzIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6cGFzc3dvcmQiLCJWaW1lb1xcQ29udHJvbGxlclxcUHJvZmlsZUNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxDbGlwU3RhdHNDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NcXEVtYmVkQ29udHJvbGxlcjplbWJlZCIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb01hbmFnZXJDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFZpZGVvUmV2aWV3Q29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxNZXNzYWdlc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RhdHNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFVwbG9hZENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcT25EZW1hbmRcXFNldHRpbmdzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxDbGlwXFxTZXR0aW5nc0NvbnRyb2xsZXIiXSwic3RpY2t5X2luY2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxTdG9ja1xcU3RvY2tIb21lUGFnZUNvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrRm9vdGFnZUNvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrU2VhcmNoQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxTdG9ja1xcU3RvY2tDb2xsZWN0aW9uc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQWxidW1Db250cm9sbGVyIl0sInRvcG5hdl93cmFwX3NlbGVjdG9yIjoiI3RvcG5hdl9vdXRlcl93cmFwIiwiY29udGVudF93cmFwX3NlbGVjdG9yIjoiLndyYXBfY29udGVudCJ9LCJsb2NhbGUiOiJlbiIsIm9tbmlzZWFyY2hfand0IjoiZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LmV5SmxlSEFpT2pFMk9UZ3pOVEk1TWpBc0luVnpaWEpmYVdRaU9tNTFiR3dzSW1Gd2NGOXBaQ0k2TlRnME56a3NJbk5qYjNCbGN5STZJbkIxWW14cFl5QndjbWwyWVhSbElHUmxiR1YwWlNJc0luUmxZVzFmZFhObGNsOXBaQ0k2Ym5Wc2JIMC5LQjZFcHVUNGJjSnkyUmMwUFJCNGtWMXU4TE8yVWlnTUhKR1ZEbGJUTG53Iiwib21uaXNlYXJjaF91c2VyIjpudWxsLCJhcGlfdXJsIjoiYXBpLnZpbWVvLmNvbSIsIm1hZ2lzdG9fYXBpX2hvc3QiOiJ2aW1lby5tYWdpc3RvLmNvbSIsImhhc19wdWJsaWNfc2VhcmNoX2Rpc2FibGVkIjpmYWxzZSwiaGFzX2F1dG9fY2xvc2VkX2NhcHRpb25zIjpmYWxzZSwiaGFzX29jcl9zZWFyY2giOmZhbHNlLCJoYXNfdmlkZW9fbGlicmFyeSI6ZmFsc2UsImhhc19lbnRlcnByaXNlIjpmYWxzZSwiaGFzX3ByZWNpc2lvbl9hd2FyZV9zZWFyY2giOmZhbHNlLCJ0ZWFtX3VzZXIiOm51bGwsInNob3VsZE9wdEludG9NYXJrZXRpbmciOnRydWUsInNob3VsZFNob3dNYXJrZXRpbmdDaGVja2JveCI6ZmFsc2UsImlzUmVjb3JkVG9vbFN1cHBvcnRlZCI6ZmFsc2UsInRlYW0iOm51bGwsInJlZnJlc2hlZF9zc19saWhwIjpmYWxzZX0pOwoKICAgICAgICB2YXIgX19pMThuTG9jYWxlID0gJ2VuJzsKICAgIHZhciBsb2NhbGVDb25maWcgPSB7CiAgICAgICAgbGFuZzogJ2VuJywKICAgICAgICAnRGF0ZSc6IHsKICAgICAgICAgICAgbW9udGhzOiBbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sCiAgICAgICAgICAgIG1vbnRoc19hYmJyOiBbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLAogICAgICAgICAgICBkYXlzOiBbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sCiAgICAgICAgICAgIGRheXNfYWJicjogWyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSwKCiAgICAgICAgICAgIC8vIEN1bHR1cmUncyBkYXRlIG9yZGVyOiBNTS9ERC9ZWVlZCiAgICAgICAgICAgIGRhdGVPcmRlcjogWydkYXRlJywgJ21vbnRoJywgJ3llYXInXSwKICAgICAgICAgICAgc2hvcnREYXRlOiAnJWQvJW0vJVknLAogICAgICAgICAgICBzaG9ydFRpbWU6ICclSTolTSVwJywKICAgICAgICAgICAgQU06ICdBTScsCiAgICAgICAgICAgIFBNOiAnUE0nLAogICAgICAgICAgICBmaXJzdERheU9mV2VlazogMCwKCiAgICAgICAgICAgIC8vIERhdGUuRXh0cmFzCiAgICAgICAgICAgIG9yZGluYWw6IGZ1bmN0aW9uKGRheU9mTW9udGgpewogICAgICAgICAgICAgICAgcmV0dXJuIGRheU9mTW9udGg7CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICdEYXRlUGlja2VyJzogewogICAgICAgICAgICBzZWxlY3RfYV90aW1lOiAiU2VsZWN0IGEgdGltZSIsCiAgICAgICAgICAgIHVzZV9tb3VzZV93aGVlbDogIlVzZSB0aGUgbW91c2Ugd2hlZWwgdG8gcXVpY2tseSBjaGFuZ2UgdmFsdWUiLAogICAgICAgICAgICB0aW1lX2NvbmZpcm1fYnV0dG9uOiAiT0siLAogICAgICAgICAgICBhcHBseV9yYW5nZTogIkFwcGx5IiwKICAgICAgICAgICAgY2FuY2VsOiAiQ2FuY2VsIiwKICAgICAgICAgICAgd2VlazogIldrIiAgICAgICAgfSwKICAgICAgICAgICAgICAgICdOdW1iZXInOiB7CiAgICAgICAgICAgIGRlY2ltYWw6ICcuJywKICAgICAgICAgICAgZ3JvdXA6ICcsJywKICAgICAgICAgICAgY3VycmVuY3k6IHsKICAgICAgICAgICAgICAgIHByZWZpeDogJyQnCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICdGb3JtVmFsaWRhdG9yJzogeyJyZXF1aXJlZCI6IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIiwicmVxdWlyZWRDaGsiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiJ9ICAgIH07CgogICAgdmFyIGZ1bGxMb2NhbGUgPSAnJzsKCiAgICAKICAgICAgICB2YXIgQ29weSA9IHt0cmFuc2xhdGU6ZnVuY3Rpb24odCxpLHUpe3ZhciBlPSdvYmplY3QnIT10eXBlb2YgdGhpcy5kaWN0W3RdP3RoaXMuZGljdFt0XTppP3RoaXMuZGljdFt0XS5wbHVyYWw6dGhpcy5kaWN0W3RdLnNpbmd1bGFyO3JldHVybidvYmplY3QnPT10eXBlb2YgdSYmKGU9dGhpcy5zdWJzdGl0dXRlKGUsdSkpLGV9LHN1YnN0aXR1dGU6ZnVuY3Rpb24odCxpKXtyZXR1cm4gdm9pZCAwIT09dC5zdWJzdGl0dXRlP3Quc3Vic3RpdHV0ZShpKTp0LnJlcGxhY2UoL1xcP1x7KFtee31dKylcfS9nLGZ1bmN0aW9uKHQsdSl7cmV0dXJuJ1xcJz09dC5jaGFyQXQoMCk/dC5zbGljZSgxKTpudWxsIT1pW3VdP2lbdV06Jyd9KX0sZGljdDp7fX07CiAgICBDb3B5LmRpY3QgPSB7ImRpZF95b3VfbWVhbl9lbWFpbCI6IkRpZCB5b3UgbWVhbiA8ZW0+e1NVR0dFU1R9PFwvZW0+PyIsImVtYWlsX3Bhc3N3b3JkX21pc21hdGNoIjoiRW1haWwgYW5kIHBhc3N3b3JkIGRvIG5vdCBtYXRjaCIsIm9vcHNfdHJ5X2FnYWluIjoiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcuIFBsZWFzZSB0cnkgYWdhaW4uIiwianVzdF9ub3ciOiJqdXN0IG5vdyIsInNlY29uZHNfYWdvIjp7InNpbmd1bGFyIjoie0NPVU5UfSBzZWNvbmQgYWdvIiwicGx1cmFsIjoie0NPVU5UfSBzZWNvbmRzIGFnbyJ9LCJtaW51dGVzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gbWludXRlIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gbWludXRlcyBhZ28ifSwiaG91cnNfYWdvIjp7InNpbmd1bGFyIjoie0NPVU5UfSBob3VyIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gaG91cnMgYWdvIn0sIm9wZW5fY29tbWVudF9ib3giOiJBZGQgbmV3IGNvbW1lbnQgaW5zdGVhZCAmcmFxdW87IiwidXJsX3VuYXZhaWxhYmxlIjoiU29ycnksIHRoaXMgdXJsIGlzIHVuYXZhaWxhYmxlLiIsInVuc2F2ZWRfY2hhbmdlc19nZW5lcmljIjoiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzLCBhcmUgeW91IHN1cmUgeW91IHdpc2ggdG8gbGVhdmU/IiwiYWRkIjoiQWRkIiwicmVtb3ZlIjoiUmVtb3ZlIiwic2VsZWN0IjoiU2VsZWN0Iiwibm9fZm9sbG93ZXJzX2Zvcl9sZXR0ZXIiOiJZb3UgZG9uJnJzcXVvO3QgZm9sbG93IGFueW9uZSB0aGF0IGJlZ2luIHdpdGggdGhlIGxldHRlciAmbGRxdW87e1BBR0VfTEVUVEVSfSZyZHF1bzsiLCJzaGFyZV9saW1pdF9yZWFjaGVkIjoiWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gc2hhcmUgd2l0aC4iLCJhdF9sZWFzdF9vbmUiOiJUaGVyZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSB1c2VyLiIsImF2YWlsYWJsZSI6IkF2YWlsYWJsZSIsInVuYXZhaWxhYmxlIjoiVW5hdmFpbGFibGUiLCJicm93c2VfZXJyb3JfZ2VuZXJpYyI6IlNvcnJ5LCB0aGVyZSB3YXMgYW4gZXJyb3IiLCJicm93c2VfZXJyb3Jfbm9fdmlkZW9zIjoiU29ycnksIG5vIHZpZGVvcyBmb3VuZCIsImZvbGxvdyI6IkZvbGxvdyIsImZvbGxvd2luZyI6IkZvbGxvd2luZyIsInVuZm9sbG93IjoiVW5mb2xsb3ciLCJ1bmZvbGxvd2luZyI6IlVuZm9sbG93aW5nIiwiY291bnRfY29tbWVudHMiOnsic2luZ3VsYXIiOiJ7Q09VTlR9IGNvbW1lbnQiLCJwbHVyYWwiOiJ7Q09VTlR9IGNvbW1lbnRzIn0sImZpcnN0X2NvbW1lbnQiOiJCZSB0aGUgZmlyc3QgdG8gY29tbWVudFx1MjAyNiIsIm5vX2NvbW1lbnRzX2Zvcl95b3UiOiJGb3JiaWRkZW4uIFlvdSBjYW5ub3QgcG9zdCBjb21tZW50cyBvbiB0aGlzIHBhZ2UuIiwib29wcyI6Ik9vcHMhIiwicGxheWVyX3RyeV9hZ2FpbiI6IlRoYXQgd2Fzbid0IHN1cHBvc2VkIHRvIGhhcHBlbi4gUGxlYXNlIHRyeSBhZ2FpbiBpbiBhIGZldyBtaW51dGVzLiIsImR1cmF0aW9uX2lucHV0X21pbl9kdXJhdGlvbiI6IlRoZSBkdXJhdGlvbiBjYW5ub3QgYmUgbGVzcyB0aGFuIHtNSU5fRFVSQVRJT059LiIsImR1cmF0aW9uX2lucHV0X21heF9kdXJhdGlvbiI6IlRoZSBkdXJhdGlvbiBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIHtNQVhfRFVSQVRJT059LiIsImR1cmF0aW9uX2lucHV0X2ludmFsaWRfY2hhcmFjdGVycyI6IjAtOSBhbmQgOiBhcmUgdGhlIG9ubHkgYWNjZXB0YWJsZSBpbnB1dHMuIiwiY2xvc2UiOiJDbG9zZSIsImV4cGFuZCI6IkV4cGFuZCIsImxvYWRpbmciOiJMb2FkaW5nLi4uIiwidG9wIjoidG9wIiwiYWR2YW5jZWRfc2VhcmNoIjoiQWR2YW5jZWQgU2VhcmNoIiwibm9fc3VnZ2VzdGlvbnMiOiJObyBzdWdnZXN0aW9ucyIsInJlY2VudF9zZWFyY2hlcyI6IlJlY2VudCBTZWFyY2hlcyIsInNlYXJjaF9hbGwiOiJTZWFyY2ggQWxsIG9mIFZpbWVvIiwiZW1haWxfYW5kX3Bhc3N3b3JkIjoiUGxlYXNlIGVudGVyIHlvdXIgZW1haWwgYW5kIHBhc3N3b3JkIiwiZW1haWxfYWRkcmVzcyI6IlBsZWFzZSBlbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MiLCJuYW1lX2VtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIG5hbWUsIGVtYWlsLCBhbmQgcGFzc3dvcmQiLCJlbnRlcl92YWxpZF9vdHAiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBjb2RlIn07Cjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9nbG9iYWwvcGxheWVyX21hbmFnZXJfN2U2N2JkMTUwNGVkOGRiMTBiNDQ5NmVlYWYzOGRiZjAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgaWYgKHR5cGVvZiBwbGF5ZXJBc3NldFVybHMgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGF5ZXJNYW5hZ2VyLnJ1bihwbGF5ZXJBc3NldFVybHMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgIDwvc2NyaXB0PgoKICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9zdGlja3lfdG9wbmF2X2NvbWJpbmVkXzkwMTIzMGQwYTM4NWRiMzVmZDUwNTJmY2I5OTIyOTM0Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvcmVhY3RfcHJvZF9jb21iaW5lZF9jY2I3ZDVjNGNmZjcyOGNlYWRiOTk5NmYzODViMmQwOS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2NsaXBfY29tYmluZWRfZmI4ZWQ5N2JiOTgxMzNiNTFmODFjMGU1NmZhYjAwYWMubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC90b3BuYXZfY2FydF9idXR0b25fOGRlMDBlZjViNDIwZmYwMzQ5MjgxNzUwZTZmNTUyNGMubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jbGlwLmNlYzJjZTliOTY1NjQ2MjhiNGY3LmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3BlbmRvX2NvbnRhaW5lci5kNmRhNDExMjdiYjY4N2ViYzRiMy5idW5kbGUubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy90b3BuYXZfZGVza3RvcC5jY2QwNWEyMDM3ZTk4ZTA3MzY1My5idW5kbGUubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9icF90cmFja2luZy4zZTk5YTNmZGRjOGZiYjQzMWE1MS5idW5kbGUubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9nbG9iYWwvZG9fbm90X3NlbGxfMGE1Zjc1NGJlNzk5Yjk3OTFlNDk3ODVhZGI5NGY1ZmYubWluLmpzIj48L3NjcmlwdD4KCiAgICA8c2NyaXB0IGFzeW5jIHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvY2xpcF9iZXRhX2xpYnNfYXN5bmNfY29tYmluZWRfZGI2NzkzYzdmM2FhNDlkMzAyOWRiYWM0NWRlNzhkM2YubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF2aW1lby5ieXBhc3NfcGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZpbWVvLnBsYXllcl9yZXNwb25zaXZlX2RlbGVnYXRlcyA9IHZpbWVvLnBsYXllcl9yZXNwb25zaXZlX2RlbGVnYXRlcyB8fCB7fTsKICAgICAgICAgICAgICAgICAgICAgICAgdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzLndpbGxPcGVuU2hhcmVPdmVybGF5ID0gdmltZW8ucGxheWVyX3Jlc3BvbnNpdmVfZGVsZWdhdGVzLndpbGxPcGVuU2hhcmVPdmVybGF5IHx8IGZ1bmN0aW9uKGlkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGxheWVyTWFuYWdlci5wYXVzZUFsbFBsYXllcnMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aW1lby5zaGFyZS5Qb3B1cChpZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHZpbWVvLnBsYXllcl9yZXNwb25zaXZlX2RlbGVnYXRlcy53aWxsT3BlbkxvZ2luRm9ybSA9IHZpbWVvLnBsYXllcl9yZXNwb25zaXZlX2RlbGVnYXRlcy53aWxsT3BlbkxvZ2luRm9ybSB8fCBmdW5jdGlvbihpZCwgY29udGV4dCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2aW1lby5Nb2RhbCAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGF5ZXJNYW5hZ2VyLnBhdXNlQWxsUGxheWVycygpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29udGV4dCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aW1lby5TZXNzaW9uLmNyZWF0ZSh7IHBsYXllcjogMSwgY2xpcF9pZDogaWQsIGNvbnRleHQ6IGNvbnRleHQgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aW1lby5TZXNzaW9uLmNyZWF0ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFBsYXllck1hbmFnZXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsYXllck1hbmFnZXIuc2V0RGVmYXVsdERlbGVnYXRlKHZpbWVvLnBsYXllcl9yZXNwb25zaXZlX2RlbGVnYXRlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmIChQbGF5ZXJNYW5hZ2VyKSB7CiAgICAgICAgICAgICAgICAgICAgUGxheWVyTWFuYWdlci5kaXNwYXRjaFJlYWR5U2lnbmFscygpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KG9uVmltZW9Eb21SZWFkeSk7CiAgICAgICAgICAgIDwvc2NyaXB0PgoKICAgIDwvYm9keT4KPC9odG1sPgo= + recorded_at: Thu, 26 Oct 2023 20:26:09 GMT +- request: + method: head + uri: https://vimeo.com/7848846 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Thu, 26 Oct 2023 20:26:10 GMT + Content-Type: + - text/html; charset=UTF-8 + Connection: + - keep-alive + Expires: + - Thu, 26 Oct 2023 20:36:10 GMT + X-Vimeo-Device: + - d + X-Ua-Compatible: + - IE=edge + X-Xss-Protection: + - 1; mode=block + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - sameorigin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Content-Security-Policy-Report-Only: + - 'default-src https: data: blob: wss: ''unsafe-inline'' ''unsafe-eval''; report-uri + /_csp' + X-Bapp-Server: + - pweb-7cc5595cc8-wldtk + Via: + - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish + Cache-Control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + X-Varnish-Cache: + - '0' + X-Vserver: + - web-varnish-prod-varnish-6 + X-Backend-Proxy: + - webproxy7 + Age: + - '0' + X-Served-By: + - cache-iad-kjyo7100043-IAD, cache-fra-eddf8230082-FRA + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698351970.068029,VS0,VE379 + Vary: + - User-Agent,Accept-Encoding,x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=7.BU3S1XxIM8yLm8vIzJGMvgNkWTfHkaJOFTznwc_ko-1698351970-0-ATiCRddLdtGVzes005f5OTkkWIKDvN7cLXciaK6q7klbyLHnLNJoCnKXjlrm/1okK1R/X/8L5ceLu4tUQx1KMm4=; + path=/; expires=Thu, 26-Oct-23 20:56:10 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c56ec4bb002a74-CDG + Content-Encoding: + - gzip + body: + encoding: UTF-8 + string: '' + recorded_at: Thu, 26 Oct 2023 20:26:10 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_13_1_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_13_1_1.yml deleted file mode 100644 index 86ca7ba8..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_13_1_1.yml +++ /dev/null @@ -1,135 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.vimeo.com/videos/7848846 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Authorization: - - bearer vimeo_access_token - Accept: - - application/vnd.vimeo.*+json;version=3.2 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:45 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:45 GMT - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Vimeo-Device: - - d - X-Varnish-Esi: - - '0' - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - api-8bf794994-9gbg9 - X-Backend-Server: - - api-k8s - Accept-Ranges: - - bytes - Via: - - 1.1 varnish, 1.1 varnish - X-Served-By: - - cache-iad-kiad7000159-IAD, cache-mrs10534-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350986.621390,VS0,VE128 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=NhsfXL6DudilygoE5iaW.m9cwkJhzKzzpkaNdI2XOc8-1698350985-0-Af8IinbagVwKxF4re0zr9AjcXAxIyvepc2dLLkXo2eyEmtZtiYwtQikJqfaSkftWkZFydB0w59V9qL/JxNTLXSg=; - path=/; expires=Thu, 26-Oct-23 20:39:45 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556bc0b48076f-MRS - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:45 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_14_1_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_14_1_1.yml new file mode 100644 index 00000000..8140294c --- /dev/null +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_14_1_1.yml @@ -0,0 +1,74 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.vimeo.com/videos/7848846 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - VideoInfo/4.0.0 + Authorization: + - bearer vimeo_access_token + Accept: + - application/vnd.vimeo.*+json;version=3.2 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 401 + message: Unauthorized + headers: + Date: + - Thu, 26 Oct 2023 20:26:11 GMT + Content-Type: + - application/vnd.vimeo.error+json + Content-Length: + - '157' + Connection: + - keep-alive + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Www-Authenticate: + - Bearer error="invalid_token" + Cache-Control: + - no-store, no-cache, max-age=0 + Request-Hash: + - '12632761' + X-Vimeo-Error: + - 'true' + X-Bapp-Server: + - api-8bf794994-jfkdx + X-Backend-Server: + - api-k8s + Accept-Ranges: + - bytes + Via: + - 1.1 varnish, 1.1 varnish + X-Served-By: + - cache-iad-kiad7000159-IAD, cache-mad2200094-MAD + X-Cache: + - MISS, MISS + X-Cache-Hits: + - 0, 0 + X-Timer: + - S1698351971.935894,VS0,VE126 + Vary: + - x-http-method-override + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=qSwSg7COASR1MztiS6EOEA7fblIyOGlr0OOPw.UYqwo-1698351971-0-AdPyYZck3LzqtcC0jS3ooL8Of1MIR2g1G/anKf3FIK8uC7a5BcLp57oNGRqK99Q/naMsJyfcrJD4NUzt373lHdc=; + path=/; expires=Thu, 26-Oct-23 20:56:11 GMT; domain=.vimeo.com; HttpOnly; + Secure; SameSite=None + Server: + - cloudflare + Cf-Ray: + - 81c56eca38be2a1c-CDG + body: + encoding: UTF-8 + string: '{"error":"Something strange occurred. Please contact the app owners.","link":null,"developer_message":"No + user credentials were provided.","error_code":8003}' + recorded_at: Thu, 26 Oct 2023 20:26:11 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/lib/video_info/providers/vimeo_spec.rb b/spec/lib/video_info/providers/vimeo_spec.rb index 1d6131a1..98fcbbda 100644 --- a/spec/lib/video_info/providers/vimeo_spec.rb +++ b/spec/lib/video_info/providers/vimeo_spec.rb @@ -314,18 +314,6 @@ its(:thumbnail_small) { should eq "https://i.vimeocdn.com/video/1291917478-2522170a8cfe68dc920e5031deac9bc5ff4d6699c96341fbe_100x75.jpg" } end - context "with video 7848846" do - subject { VideoInfo.new("https://vimeo.com/7848846") } - - its(:stats) { - should eq({ - "plays" => nil, - "likes" => nil, - "comments" => nil - }) - } - end - context "with unavailable video" do if api_key.nil? video_url = "https://vimeo.com/0812455" @@ -348,5 +336,17 @@ its(:view_count) { should be nil } end end + + context "with video 7848846" do + subject { VideoInfo.new("https://vimeo.com/7848846") } + + its(:stats) { + should eq({ + "plays" => nil, + "likes" => nil, + "comments" => nil + }) + } + end end end From d6049cdcefa12d66da1b959bd0aa163a7b90b6a0 Mon Sep 17 00:00:00 2001 From: Hans Lemuet Date: Fri, 27 Oct 2023 22:10:35 +0200 Subject: [PATCH 4/6] Remove unwanted cassettes --- .../author/1_14_2_1.yml | 152 ------------- .../author_thumbnail/1_14_3_1.yml | 152 ------------- .../author_url/1_14_4_1.yml | 152 ------------- .../available_/1_14_1_1.yml | 152 ------------- .../with_unavailable_video/date/1_14_7_1.yml | 152 ------------- .../description/1_14_6_1.yml | 152 ------------- .../duration/1_14_8_1.yml | 152 ------------- .../height/1_14_10_1.yml | 211 ------------------ .../keywords/1_14_9_1.yml | 152 ------------- .../thumbnail_large/1_14_14_1.yml | 207 ----------------- .../thumbnail_medium/1_14_13_1.yml | 207 ----------------- .../thumbnail_small/1_14_12_1.yml | 207 ----------------- .../with_unavailable_video/title/1_14_5_1.yml | 152 ------------- .../view_count/1_14_15_1.yml | 207 ----------------- .../width/1_14_11_1.yml | 207 ----------------- 15 files changed, 2614 deletions(-) delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml delete mode 100644 spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml deleted file mode 100644 index 1dc0cc5e..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_14_2_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:31 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:31 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=U0RAk3hKOJGPV0uvEekotFmgyT.lEYAbNTD1f0iJxuY-1698350971-0-AVlzDXaEevhgzY7uQO3a2l0Nmbt3MeSLNUAoNmW7A+eyyt0fWU4Q8IHg+Anlsu5vjx+RIcthODpvc6ZVyJo+9WE=; - path=/; expires=Thu, 26-Oct-23 20:39:31 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:31 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=158350025.357578690; expires=Sun, 23-Oct-2033 20:09:31 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-bbqpx - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6964-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350972.513287,VS0,VE310 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c55663db37375c-MXP - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:31 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:32 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:32 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=_BPnY_jDQ_mSBSJ_ak7IMjXxDK2k8AN.LyzQ26WGIRM-1698350972-0-AYg7b924OwMxhjzDe9Zt0dmUK02Kt/lmW0QpyHZ3ZuqfNCauPhs6Dc1qoZ6K5hDjWJNH8dJ/GNyJbdt9BZsUf/4=; - path=/; expires=Thu, 26-Oct-23 20:39:32 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:31 - GMT; Max-Age=31535999; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1112215512.935593902; expires=Sun, 23-Oct-2033 20:09:31 GMT; Max-Age=315359999; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-g68wj - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6977-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350972.909143,VS0,VE361 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556665d505272-MXP - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:32 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml deleted file mode 100644 index 84670395..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_14_3_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:33 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:33 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=TMPUIKxg7YkXN9wLuVfZM4KAi7sNAHEv1Rp.M2PfzxU-1698350973-0-ARSi/rw41iECopuYEla9QYgua87gJtOb5vuPoWmwiB8jKebJkP1YY8J9CLfSn5l9oKn5Z0CxuVMcdxa6DllkPBM=; - path=/; expires=Thu, 26-Oct-23 20:39:33 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:33 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1657288819.970591371; expires=Sun, 23-Oct-2033 20:09:33 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-d82jk - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-5 - X-Backend-Proxy: - - webproxy6 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10545-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350973.473238,VS0,VE460 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556702ef50fce-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:34 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:34 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:34 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=UGScU.f4_w7ssD3O0GbOFH7ORm0RNh_zzHYKn3CWaiU-1698350974-0-AfAjUsmx3emmxowoeBKQNvv9P6UY7Fg6v9hUCCFZvNG6B9RElh+otsLGZKIcN1gcFUs9SdYXC9hWV9/XAYum50Q=; - path=/; expires=Thu, 26-Oct-23 20:39:34 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:34 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=628927325.2048346473; expires=Sun, 23-Oct-2033 20:09:34 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-9zknh - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10538-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350974.126845,VS0,VE378 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556742e5173af-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:34 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml deleted file mode 100644 index 8d637fc9..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_14_4_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:35 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:34 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=yKKig396CdsMewnF6zq58XmqHISYGNhbJV6Xlk1VfQo-1698350974-0-AdlRa7UUhfchOTUojGeZbuPcQ0u4a2agzEYWYgtvP5xeisFEAFtvyIHBYWeGeeewHgPLDv4ovynPecwFrLgKPeg=; - path=/; expires=Thu, 26-Oct-23 20:39:34 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:34 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=806206561.2118439068; expires=Sun, 23-Oct-2033 20:09:34 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-p2vs2 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10581-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350975.620877,VS0,VE374 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556774ae7076f-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:35 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:35 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:35 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=15bUz77L5iycFsmBBiePh21J72QYuBqikU5Jp9p99NU-1698350975-0-AWI6XwnbNr32qXlWrBCVe/zCuIq6xfeoCV3rK/vD1L+guMPoXePb+O7DGJARlsRkJ+6aLt0mRsBdT2Vin96a9zg=; - path=/; expires=Thu, 26-Oct-23 20:39:35 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:35 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1165917621.417660076; expires=Sun, 23-Oct-2033 20:09:35 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-7s7xw - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10556-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350975.148580,VS0,VE321 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5567a8c975fdc-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:35 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml deleted file mode 100644 index 78f42e76..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_14_1_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:30 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:30 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=ZqH0ZBpP.VxNv46o47zdhwmt.1cUmydr9TVUsLCLhoQ-1698350970-0-AZMlKsG/iWm2roIO/lmg2hjPvE3ax66FylTUEc2TVWqTob2ypFW3AgIlgbg1x7nP/Sf0/uSfx2bqESkduQ1t1P8=; - path=/; expires=Thu, 26-Oct-23 20:39:30 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:30 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=29271300.1678438639; expires=Sun, 23-Oct-2033 20:09:30 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-9r2p6 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10554-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350971.532212,VS0,VE409 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5565dbea00c47-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:31 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:31 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:31 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=Qv_wBqchFto6U7L4ohBOm2a8HHS4onCGRLDL5zbrhdg-1698350971-0-AQTvofPYwRzb+vANOuLnzwa/FPiTbWj7o9iPt1tiq8nb5HcBNICExzxQ0hZ10SQcHsHETGP+FtE2SoNNC/zG4qs=; - path=/; expires=Thu, 26-Oct-23 20:39:31 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:31 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=546290276.348209764; expires=Sun, 23-Oct-2033 20:09:31 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-9wbqk - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6926-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350971.121851,VS0,VE307 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556616d22baf7-MXP - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnNjk2MGYnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:31 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml deleted file mode 100644 index 004cff2d..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_14_7_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:37 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:37 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=8atSplz1c3Sh7GUR0RSZnhujNrw8AZ1ZjqXcFkukNgc-1698350977-0-AfSkhwMU19L4NFBSNk9gZ4P7d0+7UfE4Bhe27YKcPM892yVqcEeVQKTyn+73nZ0QdpN5f24J7neMA94v6QD+Ssg=; - path=/; expires=Thu, 26-Oct-23 20:39:37 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:37 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1790431828.726578828; expires=Sun, 23-Oct-2033 20:09:37 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-9rc69 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-5 - X-Backend-Proxy: - - webproxy6 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10577-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350978.599994,VS0,VE296 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c55689dda20da7-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:37 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:38 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:38 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=pXN9LIat2osoKnOHeV3HeLRQYCE_P0TdkB9w35EHP9Q-1698350978-0-ARaGs+pE6TvLxwJrVLwl09xEKGnIjWcAKDe0xDgZKmKv5enGPSJlUQALNqolYyAXasAxFsQFZdXZDMmaOPMkZ6U=; - path=/; expires=Thu, 26-Oct-23 20:39:38 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:38 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=367969665.36079359; expires=Sun, 23-Oct-2033 20:09:38 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-kgb2x - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10545-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350978.002710,VS0,VE310 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5568c6aa90fce-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:38 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml deleted file mode 100644 index 186d1bda..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_14_6_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:36 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:36 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=5rv3DZKAc6IDbOj7hG2vzNVwfl9fJ2V6mqR0Ek0WY8I-1698350976-0-Aep00veZ1BF4VAjnelHUEiHWyowExVR+JAljh7n40/Lzk19nyxSX3ox3BKLQ7YnRB8G084pH/QGKdEVYx+gsi5o=; - path=/; expires=Thu, 26-Oct-23 20:39:36 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:36 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=998238993.184870548; expires=Sun, 23-Oct-2033 20:09:36 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-qbfh2 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6977-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350977.548516,VS0,VE336 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556835c725272-MXP - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:36 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:37 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:37 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=xBaYkQL31k06N1cLBOfvtKWwV3saEOqzW8yKqzQx4eQ-1698350977-0-AXWtSmla6GTL2fAibIlrmaS6FVkmxJVdsCLl0gIsVRuDHzhJdOb0Dr5yPOTeUTiD+ZPjpciQ1ANp9vYouvfFhac=; - path=/; expires=Thu, 26-Oct-23 20:39:37 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:37 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=555299299.1717302438; expires=Sun, 23-Oct-2033 20:09:37 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-fpf6g - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-0 - X-Backend-Proxy: - - webproxy1 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10581-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350977.083570,VS0,VE362 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c55686adb1076f-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnZTU4NmQnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:37 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml deleted file mode 100644 index 51a897fd..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_14_8_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:39 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:39 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=Llv1BwoG_LoBCndHBrt51BisJ0dO6y2CjoM0NhS9I0s-1698350979-0-AWUb5Gci1lEgkaNXhweN71/jAZeQ5colQ0JT+L2NVBs+HTTceXYbK5lJ/2j/H/fT9maUYiKpBvMBMKW/7rMr4Y4=; - path=/; expires=Thu, 26-Oct-23 20:39:39 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:39 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1164179399.2060154086; expires=Sun, 23-Oct-2033 20:09:39 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-pztw2 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10566-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350979.431793,VS0,VE327 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5569558b973af-MRS - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:39 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:40 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:40 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=7SCbyoFjlV6JjY8.XQvR7TKswJ8rJF.2ZRc5LRaqlOY-1698350980-0-AQc+ULXJsXuTIKzaYsSARNtgkZK8gno4wCazBuGy9y1xJo0zahJMXa0+kJOVSHfQLvpTmFxUPxorxjsPe7hIXKo=; - path=/; expires=Thu, 26-Oct-23 20:39:40 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:40 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=302152171.1367813398; expires=Sun, 23-Oct-2033 20:09:40 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-pztw2 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10548-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350980.959844,VS0,VE300 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556989dc2076f-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:40 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml deleted file mode 100644 index 5e31a9f2..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_14_10_1.yml +++ /dev/null @@ -1,211 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:41 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:41 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=ue1Ew__Ds7xTYCsOn_BpW0plSTxvntrrNxHoBrtQbvY-1698350981-0-AWne+LeaT9lXbB7D2L3M1e9MTu7le46q2NzYRv7d7wiAxNSeBL4nE0fC/GQ4n1yMX4hpvUjIM4alSM6mc2Lp1Sc=; - path=/; expires=Thu, 26-Oct-23 20:39:41 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:41 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1800477234.580218107; expires=Sun, 23-Oct-2033 20:09:41 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-7s7xw - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-4 - X-Backend-Proxy: - - webproxy5 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6964-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350981.268090,VS0,VE352 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556a0ce700e85-MXP - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:41 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:42 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:42 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-gjh2p - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-13 - X-Backend-Proxy: - - webproxy14 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6934-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350983.699933,VS0,VE140 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=SwZDEHIqjxrSE1oggzqgCUNAtLk0CDkxDZexvgDRAu0-1698350982-0-AZzaI+3mDi25Q6sF9CuWFmK3/gbv29GlbibwVgeviEmX76ZYqPbjygXjKszPexrFUF85EZCrmKJic7g94noAmos=; - path=/; expires=Thu, 26-Oct-23 20:39:42 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556a9c92a0d6e-MXP - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:42 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml deleted file mode 100644 index 7ef060dd..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_14_9_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:40 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:40 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=z_kiiDuWX3_DWxHr6aJxOEBRShVt8E8s66SO28sNbkg-1698350980-0-AY5kjBigi8Of3tGf+8EjRBeDoBIyoVSphAGH+CQ+MUHgBWB1785r1OqJE0SPEHPViHrFU/smS696MthneCDQDlo=; - path=/; expires=Thu, 26-Oct-23 20:39:40 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:40 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1363220199.1833765556; expires=Sun, 23-Oct-2033 20:09:40 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-f4s75 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-5 - X-Backend-Proxy: - - webproxy6 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6971-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350980.437841,VS0,VE320 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5569baf0e0e23-MXP - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:40 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:41 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:41 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=Ta8xiR.juWBPJLTrEYf4Hf_iVUf5psSV3SCJ1nmRh1w-1698350981-0-AatXZ3kxMwSQ+XNBKy9mwtz+hw8giUmnemOw0ZzYU8vtIpTChY40ZWM+94icFP+PPO0FZHelXBwD9qShPKZdlSU=; - path=/; expires=Thu, 26-Oct-23 20:39:41 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:40 - GMT; Max-Age=31535999; path=/; domain=vimeo.com; SameSite=Lax - - vuid=487343382.2053469326; expires=Sun, 23-Oct-2033 20:09:40 GMT; Max-Age=315359999; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-vkfws - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10567-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350981.864363,VS0,VE298 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5569e4edb0fce-MRS - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnMmNkYmEnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:41 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml deleted file mode 100644 index a0647579..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_14_14_1.yml +++ /dev/null @@ -1,207 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:44 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:44 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-lf9pc - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10566-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350984.322870,VS0,VE131 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=pRnko38uJAtPHp_73IX6nd1QTmf1TVuqY4HZFViKW08-1698350984-0-AdVb63Cmze02U5GYIpMlmtKD/lvFcSivSDi7tk8iTqzod2EQOT3YMgl4RoQRvciZu8xJc8CDo6gHq3nTg2cpA1s=; - path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b3d93a73af-MRS - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:44 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:44 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:44 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-bbqpx - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-0 - X-Backend-Proxy: - - webproxy1 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6949-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350985.561699,VS0,VE136 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=vrWgoS5uzcr6XOAe2qeSRzqyN4m01gYyrhOlxdP6MZA-1698350984-0-AcpskL8/YWmtI6POIFmNxSAYDBrNEiivVHT9KQbXU7yYalRPbfdmpqIpngHfpJ7/b7G0bB+AZp0u+6HOzORiTIM=; - path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b56faf0e85-MXP - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:44 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml deleted file mode 100644 index 7491ca3b..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_14_13_1.yml +++ /dev/null @@ -1,207 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:44 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:43 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-dgfs5 - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-0 - X-Backend-Proxy: - - webproxy1 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6923-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350984.856612,VS0,VE143 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=1p4VhxX7v22l6iNhSQ2bx0LWX86sDM3RVbPiGfpfAbo-1698350984-0-ATxVng2c3TZR0nKQn+QopfrJZXw9h/oCYKcjfaC1U/crUW9opTxzHouUSgNQl3gC4L6D5cRFYuVnep2WGfQLrzo=; - path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b0fc3d0e23-MXP - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:43 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:44 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:44 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-p2vs2 - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6970-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350984.076555,VS0,VE131 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=qYpQF2gLsbBwI1AOimEyP8cajUJk6dOKUL4VPeNbgX8-1698350984-0-AY8DnIzRNMHiXbrq5i7NzBuhLzlyyL3RljWQZxmtluA4juOXe0WI1mf/tolMQjsw8DcEv1/fRJTkcYVEEkrhjbM=; - path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b25bf3bacd-MXP - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:44 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml deleted file mode 100644 index 8c233556..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_14_12_1.yml +++ /dev/null @@ -1,207 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:43 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:43 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-9zknh - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-0 - X-Backend-Proxy: - - webproxy1 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10534-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350983.406891,VS0,VE131 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=iykwoaemRQb9pYc8PL8CVo61HGWZZywyJZ_wAcIRA_c-1698350983-0-Ab+Y+/v17VxWYyEIfSb7u2JvsxgKzu+y5wDqZqJnrl/H4bQU+lSVjIt3tg8xUsvAQvFNxXBD5MY50tIKiirCjJ4=; - path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556ae29e55fdc-MRS - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:43 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:43 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:43 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-hzc9h - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-5 - X-Backend-Proxy: - - webproxy6 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10545-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350984.635093,VS0,VE137 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=ZQFgCZo5p6tMVTrcuurgo2pddj7IqlaBHOulGWxrAk8-1698350983-0-AQ2BhrLloz1e92nwHuk1VMovAxWDN7zSqfiycHzp2x6DCVxbfvPFeP0vbWx1EujVzaILlX9ClYbBAGHq14Suc04=; - path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556afa8ff0fce-MRS - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:43 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml deleted file mode 100644 index 98976e80..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_14_5_1.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:36 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:35 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=DGTmj0UqslOkJ9bJ7A4zEPcZKoBP.ikbmQVaZX.S1FY-1698350976-0-Ac7mFCSWVPuvkwi7/IT6VaOzYvvnKkCJ0xFzRLWLkIALsLNCphgppPwsD96U2hg1ZYjh+ydE7MePzRGrkk3IicU=; - path=/; expires=Thu, 26-Oct-23 20:39:36 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:35 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=953224502.453388539; expires=Sun, 23-Oct-2033 20:09:35 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-9k6h5 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6923-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350976.634338,VS0,VE361 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c5567dafe70e23-MXP - Content-Encoding: - - gzip - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:35 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Thu, 26 Oct 2023 20:09:36 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:36 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - Set-Cookie: - - __cf_bm=tdh61WrNxs1HqOgNEccp_bhWCPFRl4.fGSHYoCxD06c-1698350976-0-AeVW0AWEq9nyPg7kodcs78FCQv7E+GM8OZ30G/pX9ioscFaZBN+JyZ03WDZN9NlZDtzy8or1eti3XVchr1NoSgA=; - path=/; expires=Thu, 26-Oct-23 20:39:36 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - - _abexps=%7B%223118%22%3A%2240_off%22%7D; expires=Fri, 25-Oct-2024 20:09:36 - GMT; Max-Age=31536000; path=/; domain=vimeo.com; SameSite=Lax - - vuid=1542785613.1765692233; expires=Sun, 23-Oct-2033 20:09:36 GMT; Max-Age=315360000; - path=/; domain=.vimeo.com; secure; SameSite=None - X-Bapp-Server: - - pweb-7cc5595cc8-n6pj9 - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Age: - - '0' - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mxp6964-MXP - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350976.079909,VS0,VE380 - Vary: - - Accept-Encoding,x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Server: - - cloudflare - Cf-Ray: - - 81c556806b5d0e85-MXP - body: - encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9IjE5ODg0MDI4OTYzIj4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Ii8vcGxheWVyLnZpbWVvLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9pLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iLy9mLnZpbWVvY2RuLmNvbSI+CjxsaW5rIHJlbD0ic2VhcmNoIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sIiBocmVmPSIvc2VhcmNoL29wZW5zZWFyY2gueG1sIiB0aXRsZT0iVmltZW8iPgo8bGluayByZWw9ImxvZ28iIHR5cGU9ImltYWdlL3N2ZyIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9sb2dvLnN2ZyI+CgoKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTUuMCx1c2VyLXNjYWxhYmxlPXllcyI+CiAgICAKCiAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU29ycnksIHdlIGNvdWxkbiZyc3F1bzt0IGZpbmQgdGhhdCBwYWdlIj4KICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiPgogICAgCgoKCiAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHBzOi8vaS52aW1lb2Nkbi5jb20vZmF2aWNvbi9tYWluLXRvdWNoXzE4MCI+Cgo8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvbGVnYWN5X3ZpZXdfc3VwcG9ydC9pcmlzX2ljb25fdl82NC5zdmc/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgY29sb3I9IiMxNzI3MmUiPgoKICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9pbWFnZXNfdjYvZmF2aWNvbi5pY28/YjA2YzRlMWVmMTNlN2JlNzMwMzQ2NDc5NjEyMThmMmE1OTA0MWE0ZiIgZGF0YS1wbGF5PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vcGxheV8zMiIgZGF0YS1wYXVzZT0iaHR0cHM6Ly9pLnZpbWVvY2RuLmNvbS9mYXZpY29uL3BhdXNlXzMyIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSJodHRwczovL2kudmltZW9jZG4uY29tL2Zhdmljb24vbWFpbi10b3VjaF8xNDQiPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwYWRlZiI+CiAgICAgICAgPHRpdGxlPlZpbWVVaE9oPC90aXRsZT4KICAgICAgICA8c3R5bGU+CiAgI290LXNkay1idG4gewogICAgZGlzcGxheTogbm9uZTsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgKGZ1bmN0aW9uKCkgewogICAgZnVuY3Rpb24gaXNDcmF3bGVyKCkgewogICAgICB2YXIgY3Jhd2xlclVBID0gWwogICAgICAgICdhZHNib3QtZ29vZ2xlJywKICAgICAgICAnYXBwbGVib3QnLAogICAgICAgICdiYWlkdXNwaWRlcicsCiAgICAgICAgJ2Jpbmdib3QnLAogICAgICAgICdibGVra29ib3QnLAogICAgICAgICdFbWJlZGx5JywKICAgICAgICAnZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ0ZhY2Vib3QnLAogICAgICAgICdmZWVkZmV0Y2hlci1nb29nbGUnLAogICAgICAgICdmZWVkbHknLAogICAgICAgICdGbGlwYm9hcmRQcm94eScsCiAgICAgICAgJ2dvb2dsZSB3ZWIgcHJldmlldycsCiAgICAgICAgJ2dvb2dsZWJvdCcsCiAgICAgICAgJ2dvb2dsZWJvdC1uZXdzJywKICAgICAgICAnZ29vZ2xlLWluc3BlY3Rpb250b29sJywKICAgICAgICAnZ29vZ2xlb3RoZXInLAogICAgICAgICdHcmFwZXNob3RDcmF3bGVyJywKICAgICAgICAnbGlua2VkaW5ib3QnLAogICAgICAgICdtYWlsLnJ1X2JvdCcsCiAgICAgICAgJ21lZGlhcGFydG5lcnMtZ29vZ2xlJywKICAgICAgICAnbXNuYm90X21vYmlsZScsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ21zbmJvdCcsCiAgICAgICAgJ3BpbnRlcmVzdCcsCiAgICAgICAgJ1Nlem5hbScsCiAgICAgICAgJ1NreXBlVXJpUHJldmlldycsCiAgICAgICAgJ3NsdXJwJywKICAgICAgICAnc3RvcmVib3QtZ29vZ2xlJywKICAgICAgICAnc3VwZXJmZWVkciBib3QnLAogICAgICAgICd0dW1ibHInLAogICAgICAgICd0d2l0dGVyYm90JywKICAgICAgICAneWFuZGV4JywKICAgICAgICAncHJlcmVuZGVyJwogICAgICBdOwogICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoCiAgICAgICAgYCgke2NyYXdsZXJVQS5qb2luKCd8JykucmVwbGFjZSgnLicsICdcXC4nKS5yZXBsYWNlKCctJywgJ1xcLScpfSlgLAogICAgICAgICdpJywKICAgICAgKTsKCiAgICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHJlZ0V4KTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRTY3JpcHQoc3JjLCBkYXRhU2V0KSB7CiAgICAgIHZhciBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgIHNjcmlwdEVsZW1lbnQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKCiAgICAgIGlmIChkYXRhU2V0KSB7CiAgICAgICAgT2JqZWN0LmtleXMoZGF0YVNldCkuZm9yRWFjaCgoa2V5KSA9PiB7CiAgICAgICAgICBzY3JpcHRFbGVtZW50LmRhdGFzZXRba2V5XSA9IGRhdGFTZXRba2V5XTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgdmFyIGZpcnN0U2NyaXB0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOwogICAgICBpZiAoZmlyc3RTY3JpcHQpIHsKICAgICAgICBmaXJzdFNjcmlwdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHRFbGVtZW50LCBmaXJzdFNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoaXNDcmF3bGVyKCkpIHJldHVybjsKCiAgICAgICAgYWRkU2NyaXB0KAogICAgICAnaHR0cHM6Ly9jZG4uY29va2llbGF3Lm9yZy9zY3JpcHR0ZW1wbGF0ZXMvb3RTREtTdHViLmpzJywgewogICAgICAgIGRvbWFpblNjcmlwdDogJ2QzMjcwZjFmLTI0ZjMtNDQyYS1iOGVlLWU2NmY0MmIzYmIxOScsCiAgICAgICAgZG9jdW1lbnRMYW5ndWFnZTogJ3RydWUnCiAgICAgIH0KICAgICk7CiAgfSkoKTsKCiAgZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7CiAgICAvKioKICAgICAqIFNlbmRpbmcgbG9jYXRpb24gZGF0YSBmb3IgYmxvY2tpbmcgR1RNIGNvb2tpZXMKICAgICAqLwogICAgb25lVHJ1c3RUcmlnZ2VyZWQgPSB0cnVlOwogICAgdmFyIGxvY2F0aW9uID0gT25lVHJ1c3QuZ2V0R2VvbG9jYXRpb25EYXRhKCk7CiAgICBpZih3aW5kb3cgJiYgd2luZG93Ll9ndG0pIHsKICAgICAgd2luZG93Ll9ndG0ucHVzaChsb2NhdGlvbik7CiAgICB9CiAgICAvKioKICAgICAqIFRoaXMgaXMgbmVlZGVkIGluIGNhc2UgdGhlIHNjcmlwdHMgbG9hZHMgYmVmb3JlIHRoZSBvbmV0cnVzdCBidG4gbG9hZHMKICAgICAqLwogICAgaWYobG9jYXRpb24gJiYgbG9jYXRpb24uY291bnRyeSA9PT0gJ0ZSJyAmJiBkb2N1bWVudC5oZWFkKSB7CiAgICAgIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpOwogICAgICB2YXIgc3R5bGVzaGVldCA9IHN0eWxlLnNoZWV0OwogICAgICBpZiAoc3R5bGVzaGVldCkgewogICAgICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgnI290LXNkay1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfScpOwogICAgICB9CiAgICB9CiAgfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLyBGaXJzdCBJbnB1dCBEZWxheSB0cmFja2luZy4gSGlnaCBwcmlvcml0eSBsb2FkaW5nIHRvIG5vdCBtaXNzIGV2ZW50CiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL2ZpcnN0LWlucHV0LWRlbGF5L2Jsb2IvbWFzdGVyL2Rpc3QvZmlyc3QtaW5wdXQtZGVsYXkubWluLmpzCiAgICAgICAgICAgICFmdW5jdGlvbihuLGUpe3ZhciB0LG8saSxjPVtdLGY9e3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0scj1uZXcgRGF0ZSxhPSJwb2ludGVydXAiLHU9InBvaW50ZXJjYW5jZWwiO2Z1bmN0aW9uIHAobixjKXt0fHwodD1jLG89bixpPW5ldyBEYXRlLHcoZSkscygpKX1mdW5jdGlvbiBzKCl7bz49MCYmbzxpLXImJihjLmZvckVhY2goZnVuY3Rpb24obil7bihvLHQpfSksYz1bXSl9ZnVuY3Rpb24gbCh0KXtpZih0LmNhbmNlbGFibGUpe3ZhciBvPSh0LnRpbWVTdGFtcD4xZTEyP25ldyBEYXRlOnBlcmZvcm1hbmNlLm5vdygpKS10LnRpbWVTdGFtcDsicG9pbnRlcmRvd24iPT10LnR5cGU/ZnVuY3Rpb24odCxvKXtmdW5jdGlvbiBpKCl7cCh0LG8pLHIoKX1mdW5jdGlvbiBjKCl7cigpfWZ1bmN0aW9uIHIoKXtlKGEsaSxmKSxlKHUsYyxmKX1uKGEsaSxmKSxuKHUsYyxmKX0obyx0KTpwKG8sdCl9fWZ1bmN0aW9uIHcobil7WyJjbGljayIsIm1vdXNlZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24oZSxsLGYpfSl9dyhuKSxzZWxmLnBlcmZNZXRyaWNzPXNlbGYucGVyZk1ldHJpY3N8fHt9LHNlbGYucGVyZk1ldHJpY3Mub25GaXJzdElucHV0RGVsYXk9ZnVuY3Rpb24obil7Yy5wdXNoKG4pLHMoKX19KGFkZEV2ZW50TGlzdGVuZXIscmVtb3ZlRXZlbnRMaXN0ZW5lcik7CiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIENyZWF0ZSBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciB0cmFja2luZyBUVEkKICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3R0aS1wb2x5ZmlsbAogICAgICAgICAgIWZ1bmN0aW9uKCl7aWYoJ1BlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmcnIGluIHdpbmRvdyl7dmFyIGc9d2luZG93Ll9fdHRpPXtlOltdfTsKICAgICAgICAgIGcubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihsKXtnLmU9Zy5lLmNvbmNhdChsLmdldEVudHJpZXMoKSl9KTsKICAgICAgICAgIGcuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsnbG9uZ3Rhc2snXX0pfX0oKTsKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmlmKHdpbmRvdyYmd2luZG93LmZldGNoJiYtMT09PXdpbmRvdy5mZXRjaC50b1N0cmluZygpLmluZGV4T2YoIlByb2ZpbGluZyIpJiYtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJsb2dzPTEiKSl7Y29uc3QgZT13aW5kb3cuZmV0Y2gsbj1bImFwaS52aW1lby5jb20iLCJ2aW1lby5jb20iXTt3aW5kb3cuZmV0Y2g9KGFzeW5jKC4uLnQpPT57bGV0W2ksb109dDtjb25zdCBkPW5ldyBVUkwoaSxkb2N1bWVudC5iYXNlVVJJKS5ob3N0O3JldHVybiBvJiZvLmhlYWRlcnMmJm4uaW5jbHVkZXMoZCkmJihvLmhlYWRlcnMuUHJvZmlsaW5nPTEpLGF3YWl0IGUoaSxvKX0pfQo8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cjt3aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5pdD17cHJpdmFjeTp7Y29va2llc19lbmFibGVkOnRydWV9fTsKd2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtjLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgyOCksYz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYoYy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKGMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihjLm5yRGV2PSEwKSl9Y2F0Y2gocyl7fWMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSksYy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxjLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKGMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsYyl7dHJ5e2w/bC09MTpvKGN8fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbiksITApfWNhdGNoKHUpe3RyeXtpKCJpZXJyIixbdSxzLm5vdygpLCEwXSl9Y2F0Y2goZCl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCxlKXt2YXIgbj1lP251bGw6cy5ub3coKTtpKCJlcnIiLFt0LG5dKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjkpLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLHU9dCgiZ29zIiksZj13aW5kb3cub25lcnJvcixkPSExLHA9Im5yQHNlZW5FcnJvciIsbD0wO3MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGgpeyJzdGFjayJpbiBoJiYodCgxMyksdCgxMiksImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93JiZ0KDYpLHMueGhyV3JhcHBhYmxlJiZ0KDE0KSxkPSEwKX1jLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2QmJihsKz0xKX0pLGMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe2QmJiFuW3BdJiYodShuLHAsZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe2QmJiF0aGlzLnRocm93biYmbD4wJiYobC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3Qscy5ub3coKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtMKyssVD1nLmhhc2gsdGhpc1tmXT15Lm5vdygpfWZ1bmN0aW9uIG8oKXtMLS0sZy5oYXNoIT09VCYmaSgwLCEwKTt2YXIgdD15Lm5vdygpO3RoaXNbaF09fn50aGlzW2hdK3QtdGhpc1tmXSx0aGlzW2RdPXR9ZnVuY3Rpb24gaSh0LGUpe0UuZW1pdCgibmV3VVJMIixbIiIrZyxlXSl9ZnVuY3Rpb24gYSh0LGUpe3Qub24oZSxmdW5jdGlvbigpe3RoaXNbZV09eS5ub3coKX0pfXZhciBjPSItc3RhcnQiLHM9Ii1lbmQiLHU9Ii1ib2R5IixmPSJmbiIrYyxkPSJmbiIrcyxwPSJjYiIrYyxsPSJjYiIrcyxoPSJqc1RpbWUiLG09ImZldGNoIix2PSJhZGRFdmVudExpc3RlbmVyIix3PXdpbmRvdyxnPXcubG9jYXRpb24seT10KCJsb2FkZXIiKTtpZih3W3ZdJiZ5LnhocldyYXBwYWJsZSl7dmFyIHg9dCgxMCksYj10KDExKSxFPXQoOCksUj10KDYpLE89dCgxMyksTj10KDcpLFA9dCgxNCksTT10KDkpLFM9dCgiZWUiKSxDPVMuZ2V0KCJ0cmFjZXIiKTt0KDE2KSx5LmZlYXR1cmVzLnNwYT0hMDt2YXIgVCxMPTA7Uy5vbihmLHIpLGIub24ocCxyKSxNLm9uKHAsciksUy5vbihkLG8pLGIub24obCxvKSxNLm9uKGwsbyksUy5idWZmZXIoW2YsZCwieGhyLWRvbmUiLCJ4aHItcmVzb2x2ZWQiXSksUi5idWZmZXIoW2ZdKSxPLmJ1ZmZlcihbInNldFRpbWVvdXQiK3MsImNsZWFyVGltZW91dCIrYyxmXSksUC5idWZmZXIoW2YsIm5ldy14aHIiLCJzZW5kLXhociIrY10pLE4uYnVmZmVyKFttK2MsbSsiLWRvbmUiLG0rdStjLG0rdStzXSksRS5idWZmZXIoWyJuZXdVUkwiXSkseC5idWZmZXIoW2ZdKSxiLmJ1ZmZlcihbInByb3BhZ2F0ZSIscCxsLCJleGVjdXRvci1lcnIiLCJyZXNvbHZlIitjXSksQy5idWZmZXIoW2YsIm5vLSIrZl0pLE0uYnVmZmVyKFsibmV3LWpzb25wIiwiY2Itc3RhcnQiLCJqc29ucC1lcnJvciIsImpzb25wLWVuZCJdKSxhKFAsInNlbmQteGhyIitjKSxhKFMsInhoci1yZXNvbHZlZCIpLGEoUywieGhyLWRvbmUiKSxhKE4sbStjKSxhKE4sbSsiLWRvbmUiKSxhKE0sIm5ldy1qc29ucCIpLGEoTSwianNvbnAtZW5kIiksYShNLCJjYi1zdGFydCIpLEUub24oInB1c2hTdGF0ZS1lbmQiLGkpLEUub24oInJlcGxhY2VTdGF0ZS1lbmQiLGkpLHdbdl0oImhhc2hjaGFuZ2UiLGksITApLHdbdl0oImxvYWQiLGksITApLHdbdl0oInBvcHN0YXRlIixmdW5jdGlvbigpe2koMCxMPjEpfSwhMCl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoMTMpLGM9dCgxMikscz0ibGVhclJlc291cmNlVGltaW5ncyIsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZj0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIscD0icmVzb3VyY2UiLGw9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK2wsdj0iZm4iK2gsdz0iYnN0VGltZXIiLGc9InB1c2hTdGF0ZSIseT10KCJsb2FkZXIiKTt5LmZlYXR1cmVzLnN0bj0hMCx0KDgpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg2KTt2YXIgeD1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIHgmJih0aGlzLmJzdFN0YXJ0PXkubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgeCYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQseS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PXkubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCx5Lm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD15Lm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQseS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbihnK2wsZnVuY3Rpb24odCl7dGhpcy50aW1lPXkubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oZytoLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksdSBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVt1XShmLGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbdV0oIndlYmtpdCIrZixmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W3VdKCJzY3JvbGwiLHIse3Bhc3NpdmU6ITB9KSxkb2N1bWVudFt1XSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W3VdKCJjbGljayIsciwhMSl9fSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkoZik7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtjLmluUGxhY2UodCxbZixkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxjPXQoIndyYXAtZnVuY3Rpb24iKShhLCEwKSxzPXQoImdvcyIpLHU9WE1MSHR0cFJlcXVlc3QsZj0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIodS5wcm90b3R5cGUpKTp1LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShmKSYmKG8od2luZG93KSxvKHUucHJvdG90eXBlKSksYS5vbihmKyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFsxXSxyPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQpcmV0dXJuIG4uaGFuZGxlRXZlbnQuYXBwbHkobixhcmd1bWVudHMpfXZhciBlPXtvYmplY3Q6dCwiZnVuY3Rpb24iOm59W3R5cGVvZiBuXTtyZXR1cm4gZT9jKGUsImZuLSIsbnVsbCxlLm5hbWV8fCJhbm9ueW1vdXMiKTpufSk7dGhpcy53cmFwcGVkPXRbMV09cn0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt0WzFdPXRoaXMud3JhcHBlZHx8dFsxXX0pfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3ZhciByPXRbZV07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W2VdPWZ1bmN0aW9uKCl7dmFyIHQ9aShhcmd1bWVudHMpLGU9e307by5lbWl0KG4rImJlZm9yZS1zdGFydCIsW3RdLGUpO3ZhciBhO2VbbV0mJmVbbV0uZHQmJihhPWVbbV0uZHQpO3ZhciBjPXIuYXBwbHkodGhpcyx0KTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0IixbdCxhXSxjKSxjLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIG8uZW1pdChuKyJlbmQiLFtudWxsLHRdLGMpLHR9LGZ1bmN0aW9uKHQpe3Rocm93IG8uZW1pdChuKyJlbmQiLFt0XSxjKSx0fSl9KX12YXIgbz10KCJlZSIpLmdldCgiZmV0Y2giKSxpPXQoMjkpLGE9dCgyOCk7ZS5leHBvcnRzPW87dmFyIGM9d2luZG93LHM9ImZldGNoLSIsdT1zKyJib2R5LSIsZj1bImFycmF5QnVmZmVyIiwiYmxvYiIsImpzb24iLCJ0ZXh0IiwiZm9ybURhdGEiXSxkPWMuUmVxdWVzdCxwPWMuUmVzcG9uc2UsbD1jLmZldGNoLGg9InByb3RvdHlwZSIsbT0ibnJAY29udGV4dCI7ZCYmcCYmbCYmKGEoZixmdW5jdGlvbih0LGUpe3IoZFtoXSxlLHUpLHIocFtoXSxlLHUpfSkscihjLCJmZXRjaCIscyksby5vbihzKyJlbmQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZihlKXt2YXIgcj1lLmhlYWRlcnMuZ2V0KCJjb250ZW50LWxlbmd0aCIpO251bGwhPT1yJiYobi5yeFNpemU9ciksby5lbWl0KHMrImRvbmUiLFtudWxsLGVdLG4pfWVsc2Ugby5lbWl0KHMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgid3JhcC1mdW5jdGlvbiIpKHIpO2UuZXhwb3J0cz1yO3ZhciBpPXdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cuaGlzdG9yeS5jb25zdHJ1Y3RvciYmd2luZG93Lmhpc3RvcnkuY29uc3RydWN0b3IucHJvdG90eXBlLGE9d2luZG93Lmhpc3Rvcnk7aSYmaS5wdXNoU3RhdGUmJmkucmVwbGFjZVN0YXRlJiYoYT1pKSxvLmluUGxhY2UoYSxbInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSJdLCItIil9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7cy5lbWl0KCJqc29ucC1lbmQiLFtdLHApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsZSwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbiwhMSl9ZnVuY3Rpb24gbigpe3MuZW1pdCgianNvbnAtZXJyb3IiLFtdLHApLHMuZW1pdCgianNvbnAtZW5kIixbXSxwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpfXZhciByPXQmJiJzdHJpbmciPT10eXBlb2YgdC5ub2RlTmFtZSYmInNjcmlwdCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYocil7dmFyIG89ImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcjtpZihvKXt2YXIgYT1pKHQuc3JjKTtpZihhKXt2YXIgZj1jKGEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIGYucGFyZW50W2Yua2V5XTtpZihkKXt2YXIgcD17fTt1LmluUGxhY2UoZi5wYXJlbnQsW2Yua2V5XSwiY2ItIixwKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4sITEpLHMuZW1pdCgibmV3LWpzb25wIixbdC5zcmNdLHApfX19fX1mdW5jdGlvbiBvKCl7cmV0dXJuImFkZEV2ZW50TGlzdGVuZXIiaW4gd2luZG93fWZ1bmN0aW9uIGkodCl7dmFyIGU9dC5tYXRjaChmKTtyZXR1cm4gZT9lWzFdOm51bGx9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXQubWF0Y2gocCkscj1uWzFdLG89blszXTtyZXR1cm4gbz9hKG8sZVtyXSk6ZVtyXX1mdW5jdGlvbiBjKHQpe3ZhciBlPXQubWF0Y2goZCk7cmV0dXJuIGUmJmUubGVuZ3RoPj0zP3trZXk6ZVsyXSxwYXJlbnQ6YShlWzFdLHdpbmRvdyl9OntrZXk6dCxwYXJlbnQ6d2luZG93fX12YXIgcz10KCJlZSIpLmdldCgianNvbnAiKSx1PXQoIndyYXAtZnVuY3Rpb24iKShzKTtpZihlLmV4cG9ydHM9cyxvKCkpe3ZhciBmPS9bPyZdKD86Y2FsbGJhY2t8Y2IpPShbXiYjXSspLyxkPS8oLiopXC4oW14uXSspLyxwPS9eKFx3KykoXC58JCkoLiopJC8sbD1bImFwcGVuZENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVwbGFjZUNoaWxkIl07Tm9kZSYmTm9kZS5wcm90b3R5cGUmJk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkP3UuaW5QbGFjZShOb2RlLnByb3RvdHlwZSxsLCJkb20tIik6KHUuaW5QbGFjZShIVE1MRWxlbWVudC5wcm90b3R5cGUsbCwiZG9tLSIpLHUuaW5QbGFjZShIVE1MSGVhZEVsZW1lbnQucHJvdG90eXBlLGwsImRvbS0iKSx1LmluUGxhY2UoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxsLCJkb20tIikpLHMub24oImRvbS1zdGFydCIsZnVuY3Rpb24odCl7cih0WzBdKX0pfX0se31dLDEwOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoIm11dGF0aW9uIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT1OUkVVTS5vLk1PO2UuZXhwb3J0cz1yLGkmJih3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/bmV3IGkobyh0LCJmbi0iKSk6aS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE11dGF0aW9uT2JzZXJ2ZXIucHJvdG90eXBlPWkucHJvdG90eXBlKX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT1pLmNvbnRleHQoKSxuPWModCwiZXhlY3V0b3ItIixlLG51bGwsITEpLHI9bmV3IHUobik7cmV0dXJuIGkuY29udGV4dChyKS5nZXRDdHg9ZnVuY3Rpb24oKXtyZXR1cm4gZX0scn12YXIgbz10KCJ3cmFwLWZ1bmN0aW9uIiksaT10KCJlZSIpLmdldCgicHJvbWlzZSIpLGE9dCgiZWUiKS5nZXRPclNldENvbnRleHQsYz1vKGkpLHM9dCgyOCksdT1OUkVVTS5vLlBSO2UuZXhwb3J0cz1pLHUmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dVt0XTt1W3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7aS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxhLCExLCExKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGE9ZS5hcHBseSh1LGFyZ3VtZW50cyksYz11LnJlc29sdmUoYSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT11W3RdO3VbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseSh1LGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZpLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4sITEsITEpLG59fSksdS5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSx1LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09dVtlXX1jYXRjaChuKXt9fSksby53cmFwSW5QbGFjZSh1LnByb3RvdHlwZSwidGhlbiIsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPW8uYXJnc1RvQXJyYXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9YShlKTtyLnByb21pc2U9ZSxuWzBdPWMoblswXSwiY2ItIixyLG51bGwsITEpLG5bMV09YyhuWzFdLCJjYi0iLHIsbnVsbCwhMSk7dmFyIHM9dC5hcHBseSh0aGlzLG4pO3JldHVybiByLm5leHRQcm9taXNlPXMsaS5lbWl0KCJwcm9wYWdhdGUiLFtlLCEwXSxzLCExLCExKSxzfX0pLGkub24oImV4ZWN1dG9yLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPWModFswXSwicmVzb2x2ZS0iLHRoaXMsbnVsbCwhMSksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzLG51bGwsITEpfSksaS5vbigiZXhlY3V0b3ItZXJyIixmdW5jdGlvbih0LGUsbil7dFsxXShuKX0pLGkub24oImNiLWVuZCIsZnVuY3Rpb24odCxlLG4pe2kuZW1pdCgicHJvcGFnYXRlIixbbiwhMF0sdGhpcy5uZXh0UHJvbWlzZSwhMSwhMSl9KSxpLm9uKCJwcm9wYWdhdGUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmdldEN0eCYmIWV8fCh0aGlzLmdldEN0eD1mdW5jdGlvbigpe2lmKHQgaW5zdGFuY2VvZiBQcm9taXNlKXZhciBlPWkuY29udGV4dCh0KTtyZXR1cm4gZSYmZS5nZXRDdHg/ZS5nZXRDdHgoKTp0aGlzfSl9KSxyLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdX0pfSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KCJ3cmFwLWZ1bmN0aW9uIikociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj1pc05hTih0WzFdKT8wOit0WzFdLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KCJ3cmFwLWZ1bmN0aW9uIikoaSksYz0ic2V0VGltZW91dCIscz0ic2V0SW50ZXJ2YWwiLHU9ImNsZWFyVGltZW91dCIsZj0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtjLCJzZXRJbW1lZGlhdGUiXSxjK2QpLGEuaW5QbGFjZSh3aW5kb3csW3NdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbdSwiY2xlYXJJbW1lZGlhdGUiXSx1K2QpLGkub24ocytmLHIpLGkub24oYytmLG8pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7ZC5pblBsYWNlKGUsWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXSwiZm4tIixjKX1mdW5jdGlvbiBvKCl7dmFyIHQ9dGhpcyxlPWYuY29udGV4dCh0KTt0LnJlYWR5U3RhdGU+MyYmIWUucmVzb2x2ZWQmJihlLnJlc29sdmVkPSEwLGYuZW1pdCgieGhyLXJlc29sdmVkIixbXSx0KSksZC5pblBsYWNlKHQsZywiZm4tIixjKX1mdW5jdGlvbiBpKHQpe3kucHVzaCh0KSxoJiYoYj9iLnRoZW4oYSk6dj92KGEpOihFPS1FLFIuZGF0YT1FKSl9ZnVuY3Rpb24gYSgpe2Zvcih2YXIgdD0wO3Q8eS5sZW5ndGg7dCsrKXIoW10seVt0XSk7eS5sZW5ndGgmJih5PVtdKX1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX10KDYpO3ZhciB1PXQoImVlIiksZj11LmdldCgieGhyIiksZD10KCJ3cmFwLWZ1bmN0aW9uIikoZikscD1OUkVVTS5vLGw9cC5YSFIsaD1wLk1PLG09cC5QUix2PXAuU0ksdz0icmVhZHlzdGF0ZWNoYW5nZSIsZz1bIm9ubG9hZCIsIm9uZXJyb3IiLCJvbmFib3J0Iiwib25sb2Fkc3RhcnQiLCJvbmxvYWRlbmQiLCJvbnByb2dyZXNzIiwib250aW1lb3V0Il0seT1bXTtlLmV4cG9ydHM9Zjt2YXIgeD13aW5kb3cuWE1MSHR0cFJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGwodCk7dHJ5e2YuZW1pdCgibmV3LXhociIsW2VdLGUpLGUuYWRkRXZlbnRMaXN0ZW5lcih3LG8sITEpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319cmV0dXJuIGV9O2lmKHMobCx4KSx4LnByb3RvdHlwZT1sLnByb3RvdHlwZSxkLmluUGxhY2UoeC5wcm90b3R5cGUsWyJvcGVuIiwic2VuZCJdLCIteGhyLSIsYyksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7cih0LGUpLGkoZSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsciksaCl7dmFyIGI9bSYmbS5yZXNvbHZlKCk7aWYoIXYmJiFtKXt2YXIgRT0xLFI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoRSk7bmV3IGgoYSkub2JzZXJ2ZShSLHtjaGFyYWN0ZXJEYXRhOiEwfSl9fWVsc2UgdS5vbigiZm4tZW5kIixmdW5jdGlvbih0KXt0WzBdJiZ0WzBdLnR5cGU9PT13fHxhKCl9KX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtpZighYyh0KSlyZXR1cm4gbnVsbDt2YXIgZT13aW5kb3cuTlJFVU07aWYoIWUubG9hZGVyX2NvbmZpZylyZXR1cm4gbnVsbDt2YXIgbj0oZS5sb2FkZXJfY29uZmlnLmFjY291bnRJRHx8IiIpLnRvU3RyaW5nKCl8fG51bGwscj0oZS5sb2FkZXJfY29uZmlnLmFnZW50SUR8fCIiKS50b1N0cmluZygpfHxudWxsLHU9KGUubG9hZGVyX2NvbmZpZy50cnVzdEtleXx8IiIpLnRvU3RyaW5nKCl8fG51bGw7aWYoIW58fCFyKXJldHVybiBudWxsO3ZhciBoPWwuZ2VuZXJhdGVTcGFuSWQoKSxtPWwuZ2VuZXJhdGVUcmFjZUlkKCksdj1EYXRlLm5vdygpLHc9e3NwYW5JZDpoLHRyYWNlSWQ6bSx0aW1lc3RhbXA6dn07cmV0dXJuKHQuc2FtZU9yaWdpbnx8cyh0KSYmcCgpKSYmKHcudHJhY2VDb250ZXh0UGFyZW50SGVhZGVyPW8oaCxtKSx3LnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyPWkoaCx2LG4scix1KSksKHQuc2FtZU9yaWdpbiYmIWYoKXx8IXQuc2FtZU9yaWdpbiYmcyh0KSYmZCgpKSYmKHcubmV3cmVsaWNIZWFkZXI9YShoLG0sdixuLHIsdSkpLHd9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiIwMC0iK2UrIi0iK3QrIi0wMSJ9ZnVuY3Rpb24gaSh0LGUsbixyLG8pe3ZhciBpPTAsYT0iIixjPTEscz0iIix1PSIiO3JldHVybiBvKyJAbnI9IitpKyItIitjKyItIituKyItIityKyItIit0KyItIithKyItIitzKyItIit1KyItIitlfWZ1bmN0aW9uIGEodCxlLG4scixvLGkpe3ZhciBhPSJidG9hImluIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5idG9hO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPXt2OlswLDFdLGQ6e3R5OiJCcm93c2VyIixhYzpyLGFwOm8saWQ6dCx0cjplLHRpOm59fTtyZXR1cm4gaSYmciE9PWkmJihjLmQudGs9aSksYnRvYShKU09OLnN0cmluZ2lmeShjKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdSgpJiZzKHQpfWZ1bmN0aW9uIHModCl7dmFyIGU9ITEsbj17fTtpZigiaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmKG49TlJFVU0uaW5pdC5kaXN0cmlidXRlZF90cmFjaW5nKSx0LnNhbWVPcmlnaW4pZT0hMDtlbHNlIGlmKG4uYWxsb3dlZF9vcmlnaW5zIGluc3RhbmNlb2YgQXJyYXkpZm9yKHZhciByPTA7cjxuLmFsbG93ZWRfb3JpZ2lucy5sZW5ndGg7cisrKXt2YXIgbz1oKG4uYWxsb3dlZF9vcmlnaW5zW3JdKTtpZih0Lmhvc3RuYW1lPT09by5ob3N0bmFtZSYmdC5wcm90b2NvbD09PW8ucHJvdG9jb2wmJnQucG9ydD09PW8ucG9ydCl7ZT0hMDticmVha319cmV0dXJuIGV9ZnVuY3Rpb24gdSgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5lbmFibGVkfWZ1bmN0aW9uIGYoKXtyZXR1cm4iaW5pdCJpbiBOUkVVTSYmImRpc3RyaWJ1dGVkX3RyYWNpbmciaW4gTlJFVU0uaW5pdCYmISFOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuZXhjbHVkZV9uZXdyZWxpY19oZWFkZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiZOUkVVTS5pbml0LmRpc3RyaWJ1dGVkX3RyYWNpbmcuY29yc191c2VfbmV3cmVsaWNfaGVhZGVyIT09ITF9ZnVuY3Rpb24gcCgpe3JldHVybiJpbml0ImluIE5SRVVNJiYiZGlzdHJpYnV0ZWRfdHJhY2luZyJpbiBOUkVVTS5pbml0JiYhIU5SRVVNLmluaXQuZGlzdHJpYnV0ZWRfdHJhY2luZy5jb3JzX3VzZV90cmFjZWNvbnRleHRfaGVhZGVyc312YXIgbD10KDI1KSxoPXQoMTcpO2UuZXhwb3J0cz17Z2VuZXJhdGVUcmFjZVBheWxvYWQ6cixzaG91bGRHZW5lcmF0ZVRyYWNlOmN9fSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8cDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKGRbcl0sdGhpcy5saXN0ZW5lciwhMSk7ZS5hYm9ydGVkfHwobi5kdXJhdGlvbj1hLm5vdygpLXRoaXMuc3RhcnRUaW1lLHRoaXMubG9hZENhcHR1cmVDYWxsZWR8fDQhPT10LnJlYWR5U3RhdGU/bnVsbD09ZS5zdGF0dXMmJihlLnN0YXR1cz0wKTppKHRoaXMsdCksbi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLGMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pKX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnBhcnNlZE9yaWdpbj1zKGUpLHQuc2FtZU9yaWdpbj10LnBhcnNlZE9yaWdpbi5zYW1lT3JpZ2lufWZ1bmN0aW9uIGkodCxlKXt0LnBhcmFtcy5zdGF0dXM9ZS5zdGF0dXM7dmFyIG49dihlLHQubGFzdFNpemUpO2lmKG4mJih0Lm1ldHJpY3MucnhTaXplPW4pLHQuc2FtZU9yaWdpbil7dmFyIHI9ZS5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO3ImJih0LnBhcmFtcy5jYXQ9ci5zcGxpdCgiLCAiKS5wb3AoKSl9dC5sb2FkQ2FwdHVyZUNhbGxlZD0hMH12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE3KSx1PXQoMTUpLmdlbmVyYXRlVHJhY2VQYXlsb2FkLGY9dCgiZWUiKSxkPVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0scD1kLmxlbmd0aCxsPXQoImlkIiksaD10KDIxKSxtPXQoMjApLHY9dCgxOCksdz13aW5kb3cuWE1MSHR0cFJlcXVlc3Q7YS5mZWF0dXJlcy54aHI9ITAsdCgxNCksdCg3KSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGUubG9hZENhcHR1cmVDYWxsZWQ9ITEsdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihuKXtpKGUsdCl9LCExKSxoJiYoaD4zNHx8aDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0sbyh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCk7dmFyIG49dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobil7dmFyIHI9ITE7bi5uZXdyZWxpY0hlYWRlciYmKGUuc2V0UmVxdWVzdEhlYWRlcigibmV3cmVsaWMiLG4ubmV3cmVsaWNIZWFkZXIpLHI9ITApLG4udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyJiYoZS5zZXRSZXF1ZXN0SGVhZGVyKCJ0cmFjZXBhcmVudCIsbi50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLG4udHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJmUuc2V0UmVxdWVzdEhlYWRlcigidHJhY2VzdGF0ZSIsbi50cmFjZUNvbnRleHRTdGF0ZUhlYWRlcikscj0hMCksciYmKHRoaXMuZHQ9bil9fSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9bShyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9YS5ub3coKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiIT09dC50eXBlfHxvLmxvYWRDYXB0dXJlQ2FsbGVkfHwoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBjPTA7YzxwO2MrKyllLmFkZEV2ZW50TGlzdGVuZXIoZFtjXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIHcmJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiB3JiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PWEubm93KCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFthLm5vdygpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pLGYub24oImZldGNoLWJlZm9yZS1zdGFydCIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3ZhciBuPSExO3JldHVybiBlLm5ld3JlbGljSGVhZGVyJiYodC5zZXQoIm5ld3JlbGljIixlLm5ld3JlbGljSGVhZGVyKSxuPSEwKSxlLnRyYWNlQ29udGV4dFBhcmVudEhlYWRlciYmKHQuc2V0KCJ0cmFjZXBhcmVudCIsZS50cmFjZUNvbnRleHRQYXJlbnRIZWFkZXIpLGUudHJhY2VDb250ZXh0U3RhdGVIZWFkZXImJnQuc2V0KCJ0cmFjZXN0YXRlIixlLnRyYWNlQ29udGV4dFN0YXRlSGVhZGVyKSxuPSEwKSxufXZhciBuLHI9dFsxXXx8e307InN0cmluZyI9PXR5cGVvZiB0WzBdP249dFswXTp0WzBdJiZ0WzBdLnVybD9uPXRbMF0udXJsOndpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCYmKG49dFswXS5ocmVmKSxuJiYodGhpcy5wYXJzZWRPcmlnaW49cyhuKSx0aGlzLnNhbWVPcmlnaW49dGhpcy5wYXJzZWRPcmlnaW4uc2FtZU9yaWdpbik7dmFyIG89dSh0aGlzLnBhcnNlZE9yaWdpbik7aWYobyYmKG8ubmV3cmVsaWNIZWFkZXJ8fG8udHJhY2VDb250ZXh0UGFyZW50SGVhZGVyKSlpZigic3RyaW5nIj09dHlwZW9mIHRbMF18fHdpbmRvdy5VUkwmJnRbMF0mJnRbMF1pbnN0YW5jZW9mIFVSTCl7dmFyIGk9e307Zm9yKHZhciBhIGluIHIpaVthXT1yW2FdO2kuaGVhZGVycz1uZXcgSGVhZGVycyhyLmhlYWRlcnN8fHt9KSxlKGkuaGVhZGVycyxvKSYmKHRoaXMuZHQ9byksdC5sZW5ndGg+MT90WzFdPWk6dC5wdXNoKGkpfWVsc2UgdFswXSYmdFswXS5oZWFkZXJzJiZlKHRbMF0uaGVhZGVycyxvKSYmKHRoaXMuZHQ9byl9KX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZih0IGluIHIpcmV0dXJuIHJbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLG89e307ZS5ocmVmPXQsby5wb3J0PWUucG9ydDt2YXIgaT1lLmhyZWYuc3BsaXQoIjovLyIpOyFvLnBvcnQmJmlbMV0mJihvLnBvcnQ9aVsxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksby5wb3J0JiYiMCIhPT1vLnBvcnR8fChvLnBvcnQ9Imh0dHBzIj09PWlbMF0/IjQ0MyI6IjgwIiksby5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLG8ucGF0aG5hbWU9ZS5wYXRobmFtZSxvLnByb3RvY29sPWlbMF0sIi8iIT09by5wYXRobmFtZS5jaGFyQXQoMCkmJihvLnBhdGhuYW1lPSIvIitvLnBhdGhuYW1lKTt2YXIgYT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYz1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIG8uc2FtZU9yaWdpbj1hJiYoIWUuaG9zdG5hbWV8fGMpLCIvIj09PW8ucGF0aG5hbWUmJihyW3RdPW8pLG99fSx7fV0sMTg6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5yZXNwb25zZVR5cGU7cmV0dXJuImpzb24iPT09biYmbnVsbCE9PWU/ZToiYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj9vKHQucmVzcG9uc2UpOiJ0ZXh0Ij09PW58fCIiPT09bnx8dm9pZCAwPT09bj9vKHQucmVzcG9uc2VUZXh0KTp2b2lkIDB9dmFyIG89dCgyMCk7ZS5leHBvcnRzPXJ9LHt9XSwxOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbdS5ub3coKV0uY29uY2F0KGMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDI4KSxjPXQoMjkpLHM9dCgiZWUiKS5nZXQoInRyYWNlciIpLHU9dCgibG9hZGVyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciBkPVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0IiwiYWRkUmVsZWFzZSJdLHA9ImFwaS0iLGw9cCsiaXhuLSI7YShkLGZ1bmN0aW9uKHQsZSl7ZltlXT1vKHArZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhwKyJhZGRQYWdlQWN0aW9uIiwhMCksZi5zZXRDdXJyZW50Um91dGVOYW1lPW8ocCsicm91dGVOYW1lIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgaD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbdS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYocy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFt1Lm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKHQpe3Rocm93IHMuZW1pdCgiZm4tZXJyIixbYXJndW1lbnRzLHRoaXMsdF0sbiksdH1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbdS5ub3coKV0sbil9fX19O2EoImFjdGlvblRleHQsc2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7aFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LHUubm93KCksITEsZV0pfX0se31dLDIwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwyMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtyZXR1cm4gYy5leGlzdHMmJnBlcmZvcm1hbmNlLm5vdz9NYXRoLnJvdW5kKHBlcmZvcm1hbmNlLm5vdygpKTooaT1NYXRoLm1heCgobmV3IERhdGUpLmdldFRpbWUoKSxpKSktYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGl9dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCksYT1pLGM9dCgzMCk7ZS5leHBvcnRzPXIsZS5leHBvcnRzLm9mZnNldD1hLGUuZXhwb3J0cy5nZXRMYXN0VGltZXN0YW1wPW99LHt9XSwyMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISghdHx8IXQucHJvdG9jb2x8fCJmaWxlOiI9PT10LnByb3RvY29sKX1lLmV4cG9ydHM9cn0se31dLDI0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPXQuZ2V0RW50cmllcygpO24uZm9yRWFjaChmdW5jdGlvbih0KXsiZmlyc3QtcGFpbnQiPT09dC5uYW1lP2QoInRpbWluZyIsWyJmcCIsTWF0aC5mbG9vcih0LnN0YXJ0VGltZSldKToiZmlyc3QtY29udGVudGZ1bC1wYWludCI9PT10Lm5hbWUmJmQoInRpbWluZyIsWyJmY3AiLE1hdGguZmxvb3IodC5zdGFydFRpbWUpXSl9KX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49dC5nZXRFbnRyaWVzKCk7bi5sZW5ndGg+MCYmZCgibGNwIixbbltuLmxlbmd0aC0xXV0pfWZ1bmN0aW9uIGkodCl7dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhhZFJlY2VudElucHV0fHxkKCJjbHMiLFt0XSl9KX1mdW5jdGlvbiBhKHQpe2lmKHQgaW5zdGFuY2VvZiBoJiYhdil7dmFyIGU9TWF0aC5yb3VuZCh0LnRpbWVTdGFtcCksbj17dHlwZTp0LnR5cGV9O2U8PXAubm93KCk/bi5maWQ9cC5ub3coKS1lOmU+cC5vZmZzZXQmJmU8PURhdGUubm93KCk/KGUtPXAub2Zmc2V0LG4uZmlkPXAubm93KCktZSk6ZT1wLm5vdygpLHY9ITAsZCgidGltaW5nIixbImZpIixlLG5dKX19ZnVuY3Rpb24gYyh0KXtkKCJwYWdlSGlkZSIsW3Aubm93KCksdF0pfWlmKCEoImluaXQiaW4gTlJFVU0mJiJwYWdlX3ZpZXdfdGltaW5nImluIE5SRVVNLmluaXQmJiJlbmFibGVkImluIE5SRVVNLmluaXQucGFnZV92aWV3X3RpbWluZyYmTlJFVU0uaW5pdC5wYWdlX3ZpZXdfdGltaW5nLmVuYWJsZWQ9PT0hMSkpe3ZhciBzLHUsZixkPXQoImhhbmRsZSIpLHA9dCgibG9hZGVyIiksbD10KDI3KSxoPU5SRVVNLm8uRVY7aWYoIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpe3M9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocik7dHJ5e3Mub2JzZXJ2ZSh7ZW50cnlUeXBlczpbInBhaW50Il19KX1jYXRjaChtKXt9dT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihvKTt0cnl7dS5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50Il19KX1jYXRjaChtKXt9Zj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihpKTt0cnl7Zi5vYnNlcnZlKHt0eXBlOiJsYXlvdXQtc2hpZnQiLGJ1ZmZlcmVkOiEwfSl9Y2F0Y2gobSl7fX1pZigiYWRkRXZlbnRMaXN0ZW5lciJpbiBkb2N1bWVudCl7dmFyIHY9ITEsdz1bImNsaWNrIiwia2V5ZG93biIsIm1vdXNlZG93biIsInBvaW50ZXJkb3duIiwidG91Y2hzdGFydCJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsYSwhMSl9KX1sKGMpfX0se31dLDI1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gZT8xNSZlW24rK106MTYqTWF0aC5yYW5kb20oKXwwfXZhciBlPW51bGwsbj0wLHI9d2luZG93LmNyeXB0b3x8d2luZG93Lm1zQ3J5cHRvO3ImJnIuZ2V0UmFuZG9tVmFsdWVzJiYoZT1yLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgzMSkpKTtmb3IodmFyIG8saT0ieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4IixhPSIiLGM9MDtjPGkubGVuZ3RoO2MrKylvPWlbY10sIngiPT09bz9hKz10KCkudG9TdHJpbmcoMTYpOiJ5Ij09PW8/KG89MyZ0KCl8OCxhKz1vLnRvU3RyaW5nKDE2KSk6YSs9bztyZXR1cm4gYX1mdW5jdGlvbiBvKCl7cmV0dXJuIGEoMTYpfWZ1bmN0aW9uIGkoKXtyZXR1cm4gYSgzMil9ZnVuY3Rpb24gYSh0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG4/MTUmbltyKytdOjE2Kk1hdGgucmFuZG9tKCl8MH12YXIgbj1udWxsLHI9MCxvPXdpbmRvdy5jcnlwdG98fHdpbmRvdy5tc0NyeXB0bztvJiZvLmdldFJhbmRvbVZhbHVlcyYmVWludDhBcnJheSYmKG49by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMzEpKSk7Zm9yKHZhciBpPVtdLGE9MDthPHQ7YSsrKWkucHVzaChlKCkudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKCIiKX1lLmV4cG9ydHM9e2dlbmVyYXRlVXVpZDpyLGdlbmVyYXRlU3BhbklkOm8sZ2VuZXJhdGVUcmFjZUlkOml9fSx7fV0sMjY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7aWYoIW8pcmV0dXJuITE7aWYodCE9PW8pcmV0dXJuITE7aWYoIWUpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7Zm9yKHZhciBuPWkuc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKSxhPTA7YTxyLmxlbmd0aDthKyspaWYoclthXSE9PW5bYV0pcmV0dXJuITE7cmV0dXJuITB9dmFyIG89bnVsbCxpPW51bGwsYT0vVmVyc2lvblwvKFxTKylccytTYWZhcmkvO2lmKG5hdmlnYXRvci51c2VyQWdlbnQpe3ZhciBjPW5hdmlnYXRvci51c2VyQWdlbnQscz1jLm1hdGNoKGEpO3MmJmMuaW5kZXhPZigiQ2hyb21lIik9PT0tMSYmYy5pbmRleE9mKCJDaHJvbWl1bSIpPT09LTEmJihvPSJTYWZhcmkiLGk9c1sxXSl9ZS5leHBvcnRzPXthZ2VudDpvLHZlcnNpb246aSxtYXRjaDpyfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dChhJiZkb2N1bWVudFthXT9kb2N1bWVudFthXTpkb2N1bWVudFtvXT8iaGlkZGVuIjoidmlzaWJsZSIpfSJhZGRFdmVudExpc3RlbmVyImluIGRvY3VtZW50JiZpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGksZSwhMSl9ZS5leHBvcnRzPXI7dmFyIG8saSxhOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQuaGlkZGVuPyhvPSJoaWRkZW4iLGk9InZpc2liaWxpdHljaGFuZ2UiLGE9InZpc2liaWxpdHlTdGF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQubXNIaWRkZW4/KG89Im1zSGlkZGVuIixpPSJtc3Zpc2liaWxpdHljaGFuZ2UiKToidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LndlYmtpdEhpZGRlbiYmKG89IndlYmtpdEhpZGRlbiIsaT0id2Via2l0dmlzaWJpbGl0eWNoYW5nZSIsYT0id2Via2l0VmlzaWJpbGl0eVN0YXRlIil9LHt9XSwyODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDMwOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtleGlzdHM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3UodCxzLGEpOmEoKX1mdW5jdGlvbiBuKG4scixvLGksYSl7aWYoYSE9PSExJiYoYT0hMCksIWwuYWJvcnRlZHx8aSl7dCYmYSYmdChuLHIsbyk7Zm9yKHZhciBjPWUobykscz1tKG4pLHU9cy5sZW5ndGgsZj0wO2Y8dTtmKyspc1tmXS5hcHBseShjLHIpO3ZhciBwPWRbeVtuXV07cmV0dXJuIHAmJnAucHVzaChbeCxuLHIsY10pLGN9fWZ1bmN0aW9uIGkodCxlKXtnW3RdPW0odCkuY29uY2F0KGUpfWZ1bmN0aW9uIGgodCxlKXt2YXIgbj1nW3RdO2lmKG4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXT09PWUmJm4uc3BsaWNlKHIsMSl9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gZ1t0XXx8W119ZnVuY3Rpb24gdih0KXtyZXR1cm4gcFt0XT1wW3RdfHxvKG4pfWZ1bmN0aW9uIHcodCxlKXtmKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix5W25dPWUsZSBpbiBkfHwoZFtlXT1bXSl9KX12YXIgZz17fSx5PXt9LHg9e29uOmksYWRkRXZlbnRMaXN0ZW5lcjppLHJlbW92ZUV2ZW50TGlzdGVuZXI6aCxlbWl0Om4sZ2V0OnYsbGlzdGVuZXJzOm0sY29udGV4dDplLGJ1ZmZlcjp3LGFib3J0OmMsYWJvcnRlZDohMX07cmV0dXJuIHh9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdSh0LHMsYSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgcn1mdW5jdGlvbiBjKCl7KGQuYXBpfHxkLmZlYXR1cmUpJiYobC5hYm9ydGVkPSEwLGQ9bC5iYWNrbG9nPXt9KX12YXIgcz0ibnJAY29udGV4dCIsdT10KCJnb3MiKSxmPXQoMjgpLGQ9e30scD17fSxsPWUuZXhwb3J0cz1vKCk7ZS5leHBvcnRzLmdldE9yU2V0Q29udGV4dD1pLGwuYmFja2xvZz1kfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighRSsrKXt2YXIgdD1iLmluZm89TlJFVU0uaW5mbyxlPWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHNldFRpbWVvdXQodS5hYm9ydCwzZTQpLCEodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpKXJldHVybiB1LmFib3J0KCk7cyh5LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj1hKCk7YygibWFyayIsWyJvbmxvYWQiLG4rYi5vZmZzZXRdLG51bGwsImFwaSIpLGMoInRpbWluZyIsWyJsb2FkIixuXSk7dmFyIHI9bC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz0iaHR0cHM6Ly8iK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PWwucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtjKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKStiLm9mZnNldF0sbnVsbCwiYXBpIil9dmFyIGE9dCgyMiksYz10KCJoYW5kbGUiKSxzPXQoMjgpLHU9dCgiZWUiKSxmPXQoMjYpLGQ9dCgyMykscD13aW5kb3csbD1wLmRvY3VtZW50LGg9ImFkZEV2ZW50TGlzdGVuZXIiLG09ImF0dGFjaEV2ZW50Iix2PXAuWE1MSHR0cFJlcXVlc3Qsdz12JiZ2LnByb3RvdHlwZTtpZihkKHAubG9jYXRpb24pKXtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LFNJOnAuc2V0SW1tZWRpYXRlLENUOmNsZWFyVGltZW91dCxYSFI6dixSRVE6cC5SZXF1ZXN0LEVWOnAuRXZlbnQsUFI6cC5Qcm9taXNlLE1POnAuTXV0YXRpb25PYnNlcnZlcn07dmFyIGc9IiIrbG9jYXRpb24seT17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItc3BhLTEyMDgubWluLmpzIn0seD12JiZ3JiZ3W2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9ZS5leHBvcnRzPXtvZmZzZXQ6YS5nZXRMYXN0VGltZXN0YW1wKCksbm93OmEsb3JpZ2luOmcsZmVhdHVyZXM6e30seGhyV3JhcHBhYmxlOngsdXNlckFnZW50OmZ9O3QoMTkpLHQoMjQpLGxbaF0/KGxbaF0oIkRPTUNvbnRlbnRMb2FkZWQiLGksITEpLHBbaF0oImxvYWQiLHIsITEpKToobFttXSgib25yZWFkeXN0YXRlY2hhbmdlIixvKSxwW21dKCJvbmxvYWQiLHIpKSxjKCJtYXJrIixbImZpcnN0Ynl0ZSIsYS5nZXRMYXN0VGltZXN0YW1wKCldLG51bGwsImFwaSIpO3ZhciBFPTB9fSx7fV0sIndyYXAtZnVuY3Rpb24iOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oZSxuLHIscyx1KXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgaSxhLGYscDt0cnl7YT10aGlzLGk9ZChhcmd1bWVudHMpLGY9ImZ1bmN0aW9uIj09dHlwZW9mIHI/cihpLGEpOnJ8fHt9fWNhdGNoKGwpe28oW2wsIiIsW2ksYSxzXSxmXSx0KX1jKG4rInN0YXJ0IixbaSxhLHNdLGYsdSk7dHJ5e3JldHVybiBwPWUuYXBwbHkoYSxpKX1jYXRjaChoKXt0aHJvdyBjKG4rImVyciIsW2ksYSxoXSxmLHUpLGh9ZmluYWxseXtjKG4rImVuZCIsW2ksYSxwXSxmLHUpfX1yZXR1cm4gYShlKT9lOihufHwobj0iIiksbnJXcmFwcGVyW3BdPWUsaShlLG5yV3JhcHBlcix0KSxucldyYXBwZXIpfWZ1bmN0aW9uIHIodCxlLHIsbyxpKXtyfHwocj0iIik7dmFyIGMscyx1LGY9Ii0iPT09ci5jaGFyQXQoMCk7Zm9yKHU9MDt1PGUubGVuZ3RoO3UrKylzPWVbdV0sYz10W3NdLGEoYyl8fCh0W3NdPW4oYyxmP3MrcjpyLG8scyxpKSl9ZnVuY3Rpb24gYyhuLHIsaSxhKXtpZighaHx8ZSl7dmFyIGM9aDtoPSEwO3RyeXt0LmVtaXQobixyLGksZSxhKX1jYXRjaChzKXtvKFtzLG4scixpXSx0KX1oPWN9fXJldHVybiB0fHwodD1mKSxuLmluUGxhY2U9cixuLmZsYWc9cCxufWZ1bmN0aW9uIG8odCxlKXtlfHwoZT1mKTt0cnl7ZS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsdCl9Y2F0Y2gobil7fX1mdW5jdGlvbiBpKHQsZSxuKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgcj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChpKXtvKFtpXSxuKX1mb3IodmFyIGEgaW4gdClsLmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hKHQmJnQgaW5zdGFuY2VvZiBGdW5jdGlvbiYmdC5hcHBseSYmIXRbcF0pfWZ1bmN0aW9uIGModCxlKXt2YXIgbj1lKHQpO3JldHVybiBuW3BdPXQsaSh0LG4sZiksbn1mdW5jdGlvbiBzKHQsZSxuKXt2YXIgcj10W2VdO3RbZV09YyhyLG4pfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbillW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX12YXIgZj10KCJlZSIpLGQ9dCgyOSkscD0ibnJAb3JpZ2luYWwiLGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxoPSExO2UuZXhwb3J0cz1yLGUuZXhwb3J0cy53cmFwRnVuY3Rpb249YyxlLmV4cG9ydHMud3JhcEluUGxhY2U9cyxlLmV4cG9ydHMuYXJnc1RvQXJyYXk9dX0se31dfSx7fSxbImxvYWRlciIsMiwxNiw1LDMsNF0pOwo7TlJFVU0ubG9hZGVyX2NvbmZpZz17YWNjb3VudElEOiIzOTI4NCIsdHJ1c3RLZXk6IjM5Mjg0IixhZ2VudElEOiI3NDQ3NDY4IixsaWNlbnNlS2V5OiI2ODlkNWI0NTYyIixhcHBsaWNhdGlvbklEOiIyMDExMjI0In0KO05SRVVNLmluZm89e2JlYWNvbjoiYmFtLWNlbGwubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0tY2VsbC5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiNjg5ZDViNDU2MiIsYXBwbGljYXRpb25JRDoiMjAxMTIyNCIsc2E6MX0KPC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICBpZih3aW5kb3cubmV3cmVsaWMpe3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2NvbnRyb2xsZXJfdmlldycsICdWaW1lb1xDb250cm9sbGVyXENsaXBDb250cm9sbGVyX21haW4nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd1c2VySWQnLCAnMCcpO3dpbmRvdy5uZXdyZWxpYy5zZXRDdXN0b21BdHRyaWJ1dGUoJ2FjY291bnRUeXBlJywgJ1VOS05PV04nKTt3aW5kb3cubmV3cmVsaWMuc2V0Q3VzdG9tQXR0cmlidXRlKCd0ZWFtT3duZXJJZCcsICcwJyk7d2luZG93Lm5ld3JlbGljLnNldEN1c3RvbUF0dHJpYnV0ZSgndGVhbU93bmVyQWNjb3VudFR5cGUnLCAnVU5LTk9XTicpO307Cjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0L2dsb2JhbC9pY29uX2ZvbnRzXzY4ZWZmMzk0NzI5ODA2MzBjNWEwODMyYTJkNDM5NmM2Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdHlsZXMvY3NzX29wdC9leGNlcHRpb25fY29tYmluZWRfNTQ4YjUxMjU5YWYwZWYyYmVmNmRiZTcwYjg2ZDBiNjgubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vc3R5bGVzL2Nzc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uX2ZkZGE1YmVmMWExMTZmMDg3OGQ4YjIxZmRhMWQ1ODE1Lm1pbi5jc3MiPgoKCgogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgCiAgICAgICAgdmFyIHBsYXllckFzc2V0VXJscyA9IHsiYmFyZWJvbmVfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9iYXJlYm9uZS5qcyIsImNocm9tZWxlc3NfanMiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2pzXC9jaHJvbWVsZXNzLmpzIiwiY2hyb21lbGVzc19jc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvY2hyb21lbGVzcy5jc3MiLCJjc3MiOiJodHRwczpcL1wvZi52aW1lb2Nkbi5jb21cL3BcLzQuMjUuMTRcL2Nzc1wvcGxheWVyLmNzcyIsImpzIjoiaHR0cHM6XC9cL2YudmltZW9jZG4uY29tXC9wXC80LjI1LjE0XC9qc1wvcGxheWVyLmpzIiwicGxheWVyX3VybCI6InBsYXllci52aW1lby5jb20ifTsKCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICAgICAgd2luZG93ID0gX2V4dGVuZCh3aW5kb3csIHsidmltZW9fZXNpIjp7ImNvbmZpZyI6eyJyb3V0ZSI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlcjptYWluIiwiY29udHJvbGxlciI6IlZpbWVvXFxDb250cm9sbGVyXFxDbGlwQ29udHJvbGxlciIsImF1dG9jb21wbGV0ZV9lbmFibGVkIjp0cnVlLCJvbnNpdGVfcmVmZXJyZXIiOmZhbHNlfX0sImFibGluY29sbl9jb25maWciOltdLCJ2aW1lbyI6eyJjb25maWciOnsiY2FydCI6eyJjYXJ0X2NvbnRlbnQiOnsic3RvY2siOnsic3RvcmUiOiJzdG9jayIsInZlcnNpb24iOjEsInF1YW50aXRpZXMiOltdLCJpdGVtcyI6W10sImF0dHJpYnV0ZXMiOltdLCJjdXJyZW5jeSI6IkNIRiIsIml0ZW1zX3NvcnRlZF9ieV9pbmRleCI6W10sIml0ZW1zX2NvdW50IjowfX19fX19KTsKPC9zY3JpcHQ+CgogICAgICAgIAogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYWJsaW5jb2xuX2NvbmZpZyA9IGFibGluY29sbl9jb25maWcgfHwge307CiAgICAgICAgYWJsaW5jb2xuX2NvbmZpZy50ZXN0cyA9IHsiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIjp7ImlkIjoxMDc3LCJuYW1lIjoiSlMuV2l6YXJkLkRlcHJlY2F0aW9uIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9jcmVhdGVcL3RlbXBsYXRlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzEyNiwibmFtZSI6InNob3dfd2l6YXJkIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMTUgMTA6MDU6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA1NywibmFtZSI6InNob3dfd2l6YXJkIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6NTAwfSx7ImlkIjo1MDU4LCJuYW1lIjoic2hvd193aXphcmQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0Ijo1MDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TZWFyY2guUHJlY2lzaW9uIjp7ImlkIjoxMDc2LCJuYW1lIjoiSlMuU2VhcmNoLlByZWNpc2lvbiIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMTIxLCJuYW1lIjoicHJlY2lzaW9uIHNlYXJjaCIsImJ1Y2tldHMiOjUwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDQgMTU6MjY6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTA0MSwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjAiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDIsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQzLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMiIsIndlaWdodCI6MX0seyJpZCI6NTA0NCwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjMiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNDUsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiI4Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyNSwibmFtZSI6InByZWNpc2lvbiBzZWFyY2ggODAlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0xMSAxMjoyMjoyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDUyLCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NTA1MywibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwNTQsIm5hbWUiOiJwcmVjaXNpb24iLCJjaG9pY2UiOiIyIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDU1LCJuYW1lIjoicHJlY2lzaW9uIiwiY2hvaWNlIjoiMyIsIndlaWdodCI6MX0seyJpZCI6NTA1NiwibmFtZSI6InByZWNpc2lvbiIsImNob2ljZSI6IjgiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuQnJlYWRjcnVtYnMuRmlsZUFjdGlvbnNNZW51Ijp7ImlkIjoxMDcyLCJuYW1lIjoiSlMuU1ZWLkJyZWFkY3J1bWJzLkZpbGVBY3Rpb25zTWVudSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwOTgsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTIxIDA2OjI4OjQ5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTEwLTIyIDA1OjA4OjM0IiwicGFyYW1ldGVycyI6W3siaWQiOjUwMTIsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDEzLCJuYW1lIjoiZmlsZV9hY3Rpb25zX21lbnVfMTAwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NTAxNCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMCIsImNob2ljZSI6InZhcmlhbnQyIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzEyOCwibmFtZSI6ImZpbGVfYWN0aW9uc19tZW51XzEwMDAwMCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoyLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTIzIDAxOjUwOjUxIiwicGF1c2VkX29uIjoiMjAyMy0xMC0yMyAwMjo0Mjo1MCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNjEsIm5hbWUiOiJmaWxlX2FjdGlvbnNfbWVudV8xMDAiLCJjaG9pY2UiOiJ2YXJpYW50MiIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkYyUC5QaWxvdCI6eyJpZCI6MTA3MCwibmFtZSI6IkpTLkYyUC5QaWxvdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDk2LCJuYW1lIjoiMiUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjoyMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMDU6NDg6MDUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAwOCwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMDksIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExNSwibmFtZSI6IisgOCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo4MCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMTAtMDMgMTE6Mjk6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAzMiwibmFtZSI6ImYycCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjUwMzMsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzExOSwibmFtZSI6IisgNDAlIC0gRjJQIEV4cGVyaW1lbnQgUm9sbG91dCAtIEpTIiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0xMC0wNCAxNDozMTo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo1MDM3LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NTAzOCwibmFtZSI6ImYycCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMTIzLCJuYW1lIjoiKyA1MCUgLSBGMlAgRXhwZXJpbWVudCBSb2xsb3V0IC0gSlMiLCJidWNrZXRzIjo1MDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTEwLTA1IDE5OjE2OjE1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwNDgsIm5hbWUiOiJmMnAiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDQ5LCJuYW1lIjoiZjJwIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyI6eyJpZCI6MTA2NywibmFtZSI6IkpTLkZyZWVUcmlhbC5FeGNsdWRlUmVzdHJpY3RlZENvdW50cmllcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjozMDg4LCJuYW1lIjoiUnVuIFRlc3QgYXQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0xOCAwODo1OTo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTk0LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5OTUsIm5hbWUiOiJleGNsdWRlX3Jlc3RyaWN0ZWRfY291bnRyaWVzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjMwOTksIm5hbWUiOiIqIFJ1biBUZXN0IGF0IDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMjIgMTQ6MzM6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NTAxNSwibmFtZSI6ImV4Y2x1ZGVfcmVzdHJpY3RlZF9jb3VudHJpZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo1MDE2LCJuYW1lIjoiZXhjbHVkZV9yZXN0cmljdGVkX2NvdW50cmllcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5DaGVja291dC5QYXlQYWwuRGVmYXVsdEZvckZyZWVUcmlhbCI6eyJpZCI6MTA1OCwibmFtZSI6IkpTLkNoZWNrb3V0LlBheVBhbC5EZWZhdWx0Rm9yRnJlZVRyaWFsIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiXC9zdG9yZVwvKiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MzA2NiwibmFtZSI6IiogMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOC0yMiAxNDoxNDo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTY3LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIwIiwid2VpZ2h0IjoxfSx7ImlkIjo0OTY4LCJuYW1lIjoiZGVmYXVsdF9wYXlwYWxfZm9yX2ZyZWVfdHJpYWwiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzY0LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjoxLCJ2YWx1ZXMiOlsiQVUiLCJGUiIsIkRFIiwiSVQiLCJHQiJdfV19LHsiaWQiOjMwNzEsIm5hbWUiOiIqIDkwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMjQgMDk6MDE6MTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk3NSwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMCIsIndlaWdodCI6MX0seyJpZCI6NDk3NiwibmFtZSI6ImRlZmF1bHRfcGF5cGFsX2Zvcl9mcmVlX3RyaWFsIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjM2NSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MSwidmFsdWVzIjpbIkFVIiwiRlIiLCJERSIsIklUIiwiR0IiXX1dfV19LCJKUy5FZGl0b3IuVjIuU3RhZmZSb2xsb3V0Ijp7ImlkIjoxMDU1LCJuYW1lIjoiSlMuRWRpdG9yLlYyLlN0YWZmUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwNTgsIm5hbWUiOiJlZGl0b3JfMl9zdGFmZiIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMTUgMTA6NDg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMDMgMDc6MjA6MTMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDk1NiwibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH0seyJpZCI6NDk1NywibmFtZSI6ImVkaXRvcl8yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MjAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA4MywibmFtZSI6IiogZWRpdG9yXzJfc3RhZmYiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wOS0wMyAwNzoyNTozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTkxLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDAwfSx7ImlkIjo0OTkyLCJuYW1lIjoiZWRpdG9yXzIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0Ijp7ImlkIjoxMDQ2LCJuYW1lIjoiSlMuTElIUC5DcmVhdGVRdWlja2xpbmtDVEFUZXN0IiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjMwMjgsIm5hbWUiOiIxMCUgcm9sbG91dCAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDgtMzAgMTA6MTU6MzciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMTggMTA6MDc6NTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDkxNCwibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ5MTUsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzA3OCwibmFtZSI6IjUwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wOC0zMSAxMjoyNTozOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wOS0xOCAxMDowODowNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0OTg2LCJuYW1lIjoiY3JlYXRlX2N0YV9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDk4NywibmFtZSI6ImNyZWF0ZV9jdGFfbGluayIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDk1LCJuYW1lIjoiMTAwJSByb2xsb3V0IC0gVXBkYXRlIENyZWF0ZSBvbmUgY2xpY2sgQ1RBIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDktMTggMTA6MDg6MzQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDktMjcgMTI6NTU6NDgiLCJwYXJhbWV0ZXJzIjpbXSwic2VnbWVudHMiOltdfSx7ImlkIjozMTA1LCJuYW1lIjoiMTAwJSByb2xsb3V0IHRha2UgMiAtIFVwZGF0ZSBDcmVhdGUgb25lIGNsaWNrIENUQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA5LTI3IDEyOjU2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjUwMjIsIm5hbWUiOiJjcmVhdGVfY3RhX2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU1ZWLk5ld1RyaW1tZXIuSGlkZVRvdXJwb2ludHMiOnsiaWQiOjEwNDIsIm5hbWUiOiJKUy5TVlYuTmV3VHJpbW1lci5IaWRlVG91cnBvaW50cyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTYsIm5hbWUiOiJoaWRlX3R2ZV90b3VycG9pbnRzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTkgMDg6MzU6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NywibmFtZSI6ImhpZGVfdHZlX3RvdXJwb2ludHMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5TVlYuTmV3VHJpbW1lci5Sb2xsb3V0Ijp7ImlkIjoxMDQxLCJuYW1lIjoiSlMuU1ZWLk5ld1RyaW1tZXIuUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjMwMTUsIm5hbWUiOiJuZXdfdHJpbW1lcl9yb2xsb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTggMDc6MzM6MzAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5NiwibmFtZSI6Im5ld190cmltbWVyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMucmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VycyI6eyJpZCI6MTA0MCwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9yZWNvcmRcL3N0YXJ0LXJlY29yZGluZyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjk4NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA3LTAzIDEwOjUwOjE5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA3LTExIDEwOjU0OjQ4IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4NjQsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NjUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQuZnJlZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjozMDExLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWV1c2VyczEiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNy0xMSAxMDo1NDo1NyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNy0xNyAwNTowNTo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODg4LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0ODg5LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0LmZyZWUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MzAxNywibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVldXNlcnMyIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDctMTcgMDU6MDc6MzEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg5OCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDg5OSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dC5mcmVlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCI6eyJpZCI6MTAzMSwibmFtZSI6IkpTLnJlY29yZC5zdHVkaW8ucm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6Imh0dHBzOlwvXC92aW1lby5jb21cL3JlY29yZFwvc3RhcnQtcmVjb3JkaW5nIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyOTY1LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiYnVja2V0cyI6NDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNi0xNCAwODoyNjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yNyAwODo0ODo0NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODQwLCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDg0MSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyOTc2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0MiIsImJ1Y2tldHMiOjYwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTggMDQ6MTQ6NTIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMjcgMDg6NDk6MDYiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg1NCwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4NTUsIm5hbWUiOiJyZWNvcmQuc3R1ZGlvLnJvbGxvdXQiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk4NSwibmFtZSI6InJlY29yZC5zdHVkaW8ucm9sbG91dDMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0yNyAwODo0OTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODY2LCJuYW1lIjoicmVjb3JkLnN0dWRpby5yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyI6eyJpZCI6MTAyMCwibmFtZSI6IkpTLlNWVi5SZXZNYW51YWxDYXB0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI5MTksIm5hbWUiOiJSZXYgTWFudWFsIENhcHRpb25zIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMTMgMDg6NDY6MjYiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc3OCwibmFtZSI6InJldl9tYW51YWxfY2FwdGlvbnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuTW9iaWxlLkNsaXAuQmFubmVySm9pblBhdGgiOnsiaWQiOjEwMTYsIm5hbWUiOiJKUy5Nb2JpbGUuQ2xpcC5CYW5uZXJKb2luUGF0aCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOmNsaXBJZCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg5NiwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyIsImJ1Y2tldHMiOjAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE2IDE0OjMyOjU5IiwicGF1c2VkX29uIjoiMjAyMy0wNS0xNiAxNjoyMjowNSIsInN0b3BwZWRfb24iOiIyMDIzLTA1LTE2IDE2OjI5OjM1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ3NTMsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NTQsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDIsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBVCIsIkJFIiwiSFIiLCJDWiIsIkRLIiwiRkkiLCJGUiIsIkRFIiwiR1IiLCJIVSIsIklTIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQiLCJTSyIsIlNJIiwiRVMiLCJTRSIsIkNIIiwiR0IiXX1dfSx7ImlkIjoyOTI3LCJuYW1lIjoiTW9iaWxlIEpvaW4gQmFubmVyIGZvciBMb2dnZWQgT3V0IFVzZXJzIC0gMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xNiAxNjozNzoyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0wNSAxNjoyNDo1MCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzg3LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0Nzg4LCJuYW1lIjoibW9iaWxlX2NsaXBfam9pbl9iYW5uZXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzQ1LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiQUwiLCJBVCIsIkJZIiwiQkUiLCJIUiIsIkNaIiwiREsiLCJGSSIsIkZSIiwiREUiLCJHUiIsIkdMIiwiSVMiLCJJRSIsIklNIiwiSVQiLCJMViIsIkxJIiwiTFQiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTM5LCJuYW1lIjoiKiBNb2JpbGUgSm9pbiBCYW5uZXIgZm9yIExvZ2dlZCBPdXQgVXNlcnMgLSAyNSUiLCJidWNrZXRzIjoxNTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTE5IDExOjM1OjAwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDUsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MDYsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDcsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfSx7ImlkIjoyOTQzLCJuYW1lIjoiIE1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtIDEwMCUiLCJidWNrZXRzIjo3NTAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA1LTIyIDEzOjE2OjEwIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI1OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MDksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ4MTAsIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDgsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiRVMiLCJTRSIsIkNIIiwiVFIiLCJHQiIsIlZBIl19XX0seyJpZCI6Mjk2NCwibmFtZSI6Ik1vYmlsZSBKb2luIEJhbm5lciBmb3IgTG9nZ2VkIE91dCBVc2VycyAtLSAxMDAgJSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA2LTA1IDE2OjI4OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ4MzksIm5hbWUiOiJtb2JpbGVfY2xpcF9qb2luX2Jhbm5lciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNTMsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjAsInZhbHVlcyI6WyJBTCIsIkFUIiwiQlkiLCJCRSIsIkhSIiwiQ1oiLCJESyIsIkZJIiwiRlIiLCJERSIsIkdSIiwiR0wiLCJJUyIsIklFIiwiSU0iLCJJVCIsIkxWIiwiTEkiLCJMVSIsIk5MIiwiTk8iLCJQTCIsIlNLIiwiU0kiLCJFUyIsIlNFIiwiQ0giLCJUUiIsIkdCIiwiVkEiXX1dfV19LCJKUy5CdWlsZGVyLlRlc3QuMjAyMy5WMSI6eyJpZCI6MTAxMCwibmFtZSI6IkpTLkJ1aWxkZXIuVGVzdC4yMDIzLlYxIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvc3RhZ2luZy10ZXN0XC9hYmxpbmNvbG4tbG9jYWxlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjg3OCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEzIDEzOjE0OjQ4IiwicGF1c2VkX29uIjoiMjAyMy0wNC0xMyAxNDowODoxNiIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEzIDE0OjA4OjI2IiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg4MCwibmFtZSI6IkJ1aWxkZXJTZWdtZW50VGVzdDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxNDoyOToyOSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NzMzLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyI6eyJpZCI6OTk1LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLk92ZXJsYXlWc0lubGluZUludGVncmF0aW9ucyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE4LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBJbmxpbmUgdnMgT3ZlcmxheSBJbnRlZ3JhdGlvbnMgdGVzdCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA3OjUxOjI1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA3OjU5OjQ0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDEsIm5hbWUiOiJvdmVycmlkZV93aXRoX292ZXJsYXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQyLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTksIm5hbWUiOiIqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODowMDowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAwNTowNDo1MiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQzLCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH0seyJpZCI6NDY0NCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODUzLCJuYW1lIjoiKiAqIFJlY29yZCBFeHRlbnNpb24gSW5saW5lIHZzIE92ZXJsYXkgSW50ZWdyYXRpb25zIHRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMy0yMyAxODowOTo1NSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njk3LCJuYW1lIjoib3ZlcnJpZGVfd2l0aF9vdmVybGF5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY5OCwibmFtZSI6Im92ZXJyaWRlX3dpdGhfb3ZlcmxheSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uUGhvdG9BdmF0YXIiOnsiaWQiOjk5MiwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5QaG90b0F2YXRhciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODE3LCJuYW1lIjoiUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yNyAwODozNTo0OCIsInBhdXNlZF9vbiI6IjIwMjMtMDItMjcgMDg6MzY6NTQiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0yNyAwODozNzoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjM5LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDY0MCwibmFtZSI6InBob3RvX2F2YXRhciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODIwLCJuYW1lIjoiKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTI3IDA5OjA5OjMxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTI3IDA5OjExOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2NDUsIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NjQ2LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MjEsIm5hbWUiOiIqICogUEEiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0wNiAwOTowODowOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xMCAwNDoxMzowOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjQ3LCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4NTYsIm5hbWUiOiIqICogKiBQQSIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTIzIDE4OjExOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2OTksIm5hbWUiOiJwaG90b19hdmF0YXIiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NzAwLCJuYW1lIjoicGhvdG9fYXZhdGFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiOnsiaWQiOjk4NiwibmFtZSI6IkpTLkNoZWNrb3V0LlZvZFNhbGVzVGF4LkVuYWJsZWQiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyoiLCJleHBlcmltZW50cyI6W3siaWQiOjI4MDMsIm5hbWUiOiJWT0QgU2FsZXMgVGF4IEZlYXR1cmUgRmxhZyBmb3IgUHJlY2FsYyIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTA3IDEwOjA4OjU1IiwicGF1c2VkX29uIjoiMjAyMy0wMy0wNyAxNjo0NTozOSIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTA5IDEyOjE4OjI0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MjAsIm5hbWUiOiJ2b2Rfc2FsZXNfdGF4X2VuYWJsZWQiLCJjaG9pY2UiOiIxIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjkxOCwibmFtZSI6IlZPRCBTYWxlcyBUYXggRmVhdHVyZSBGbGFnIGZvciBQcmVjYWxjIDIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNS0xMSAxMjo0OTo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNS0xOSAwNjowMDowMSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Nzc3LCJuYW1lIjoidm9kX3NhbGVzX3RheF9lbmFibGVkIiwiY2hvaWNlIjoiMSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI5MzQsIm5hbWUiOiJFbmFibGUgVk9EIFRheGVzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDUtMTkgMDc6MjI6NTQiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDgwMiwibmFtZSI6InZvZF9zYWxlc190YXhfZW5hYmxlZCIsImNob2ljZSI6IjEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uRGVza3RvcFJvbGxvdXQiOnsiaWQiOjk4NSwibmFtZSI6IkpTLlJlY29yZEV4dGVuc2lvbi5EZXNrdG9wUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvcmVjb3JkXC9hdXRoLWNvbXBsZXRlIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyODAyLCJuYW1lIjoiRGVza3RvcFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMi0yMCAxNDo1NzoxNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0yMSAxNDowMDoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjE4LCJuYW1lIjoiZGVza3RvcF9yb2xsb3V0IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDYxOSwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyODg5LCJuYW1lIjoiRGVza3RvcFJvbGxvdXRfMTAwIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMjEgMTQ6MDE6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDc0NCwibmFtZSI6ImRlc2t0b3Bfcm9sbG91dCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3NDUsIm5hbWUiOiJkZXNrdG9wX3JvbGxvdXQiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlNtYXJ0Q3JvcCI6eyJpZCI6OTgyLCJuYW1lIjoiSlMuRWRpdG9yLlNtYXJ0Q3JvcCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc5OCwibmFtZSI6InNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAyLTE2IDAyOjM0OjM4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA2LTA0IDA5OjU4OjExIiwicGFyYW1ldGVycyI6W3siaWQiOjQ2MTAsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MTAwfSx7ImlkIjo0NjExLCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMH1dLCJzZWdtZW50cyI6W3siaWQiOjMyOSwidHlwZSI6ImxvY2F0aW9uIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbIlVTIl19XX0seyJpZCI6Mjg4MiwibmFtZSI6Iiogc21hcnRfY3JvcCIsImJ1Y2tldHMiOjgwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDQtMTYgMDg6Mzk6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDYtMDQgMDk6NTg6MTgiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDczNiwibmFtZSI6InNtYXJ0X2Nyb3AiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0Ijo0MDB9LHsiaWQiOjQ3MzcsIm5hbWUiOiJzbWFydF9jcm9wIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6NDAwfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk1NSwibmFtZSI6IioqIHNtYXJ0X2Nyb3AiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wNi0wNCAxMjowMzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0ODI5LCJuYW1lIjoic21hcnRfY3JvcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5NYXJrZXRpbmcuUHJpY2luZy5Nb2R1bGUuMjAyMy5WMSI6eyJpZCI6OTc4LCJuYW1lIjoiSlMuTWFya2V0aW5nLlByaWNpbmcuTW9kdWxlLjIwMjMuVjEiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3OTUsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNjoyMDoyOCIsInBhdXNlZF9vbiI6IjIwMjMtMDMtMTUgMTc6MDI6NDgiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNSAxNzowMjo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjAxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NjAyLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0MiwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMSIsImJ1Y2tldHMiOjEwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMy0xNSAxNzowNDo1MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMy0xNiAxNTo0OTozMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0Njc3LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0Njc4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg0NSwibmFtZSI6IjUwXC81MCBNYXJrZXRpbmcgUHJpY2luZyBNb2R1bGUgVGVzdC5WMiIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDMtMTcgMDg6NDQ6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDMtMTcgMTM6MTI6NTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDY4MywibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDY4NCwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W3siaWQiOjMzNSwidHlwZSI6Imxhbmd1YWdlIiwiaW5jbHVkZSI6MCwidmFsdWVzIjpbImVzIiwiZGUtREUiLCJmci1GUiIsImphLUpQIiwicHQtQlIiLCJrby1LUiJdfV19LHsiaWQiOjI4NDcsIm5hbWUiOiI1MFwvNTAgTWFya2V0aW5nIFByaWNpbmcgTW9kdWxlIFRlc3QuVjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAzLTE3IDEzOjE4OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAzLTE3IDEzOjIxOjA1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ2ODUsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ2ODYsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzYsInR5cGUiOiJsYW5ndWFnZSIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJlbiJdfV19LHsiaWQiOjI4NjEsIm5hbWUiOiJQcmljaW5nIE1vZHVsZSAtIEgxIDIwMjMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDEzOjU1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MDgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MDksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozMzksInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY4LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjIiLCJidWNrZXRzIjo5MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTA0LTEwIDE1OjIzOjMzIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTA0LTEwIDE2OjA3OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ3MTgsIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ3MTksIm5hbWUiOiJzaG93X21vZHVsZSIsImNob2ljZSI6InZhcmlhbnRfcHJpY2luZ19tb2R1bGUiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjozNDAsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJBVSIsIkdCIiwiVVMiXX1dfSx7ImlkIjoyODY5LCJuYW1lIjoiUHJpY2luZyBNb2R1bGUgLSBIMSAyMDIzIC0gdjMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMCAxNjowOTo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNC0xMCAxNjoxODowNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzIwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzIxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMiAxNTowNTo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMjo1MSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzI4LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzI5LCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjg3NiwibmFtZSI6IlByaWNpbmcgTW9kdWxlIC0gSDEgMjAyMyAtIHY1IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wNC0xMyAxMToxNzo0OCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wNi0yOCAxMToyMzoxNiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NzMwLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NzMxLCJuYW1lIjoic2hvd19tb2R1bGUiLCJjaG9pY2UiOiJ2YXJpYW50X3ByaWNpbmdfbW9kdWxlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjk5MCwibmFtZSI6IlByaWNpbmcgTW9kdWxlIEgxLXJvbGwgb3V0IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDYtMjggMTE6MjQ6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDg3MiwibmFtZSI6InNob3dfbW9kdWxlIiwiY2hvaWNlIjoidmFyaWFudF9wcmljaW5nX21vZHVsZSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5EaXNhYmxlVFZFIjp7ImlkIjo5NzYsIm5hbWUiOiJKUy5FZGl0b3IuRGlzYWJsZVRWRSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI3NzEsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEzIDA5OjAxOjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjQsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ1NjUsIm5hbWUiOiJkaXNhYmxlX3R2ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuQWRkVGV4dFNpZGVQYW5lbCI6eyJpZCI6OTczLCJuYW1lIjoiSlMuRWRpdG9yLkFkZFRleHRTaWRlUGFuZWwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL2NyZWF0ZVwvY3VzdG9taXplXC8iLCJleHBlcmltZW50cyI6W3siaWQiOjI3NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJidWNrZXRzIjoxLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMi0xMSAxMDoxOTozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMi0xMiAwMzowNDoxMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQ4LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0OSwibmFtZSI6InNob3dfYWRkX3RleHRfc2lkZV9wYW5lbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzcwLCJuYW1lIjoiNCBkZWZhdWx0IHRleHQgc2l6ZSAyMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTEyIDAzOjA1OjI0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE5IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NjIsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTYzLCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3NzksIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAiLCJidWNrZXRzIjo4MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTIwIDA2OjQ5OjU5IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEyLTI2IDAyOjMzOjE0IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzMsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NTc0LCJuYW1lIjoic2hvd19hZGRfdGV4dF9zaWRlX3BhbmVsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODQsIm5hbWUiOiI0IGRlZmF1bHQgdGV4dCBzaXplIDEwMDAgdmFyaWFudCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEyLTI2IDAyOjM1OjI3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1NzYsIm5hbWUiOiJzaG93X2FkZF90ZXh0X3NpZGVfcGFuZWwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQnVpbGRlcmlvLkFiVGVzdCI6eyJpZCI6OTcxLCJuYW1lIjoiSlMuQnVpbGRlcmlvLkFiVGVzdCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvY21zLWFidGVzdCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6Mjc1OSwibmFtZSI6IkRhdGEgZmxvdyBDTVMgQVwvQiB0ZXN0IiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0wNSAwMDoxNDo0MyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTQyLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDU0MywibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIjp7ImlkIjo5NjYsIm5hbWUiOiJKUy5FZGl0b3IuVGVtcGxhdGVzSW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9jcmVhdGVcL2N1c3RvbWl6ZVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNzIwLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMTMgMDY6Mzk6MTEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDM6MTUiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ5OCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0OTksIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NiwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjMtMDEtMDMgMDk6MDc6MjIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjMtMDEtMDggMDQ6MTg6MTciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3OSwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjB9LHsiaWQiOjQ1ODAsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NywibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3Rvcl8yMDAiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTA4IDA0OjE5OjQ0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjQyIiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODEsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTgyLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3ODgsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfNDAwIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMy0wMS0xMCAwNToyOTo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxNzozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTgzLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU4NCwibmFtZSI6InNob3dfdGVtcGxhdGVzX2luc3BlY3RvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzg5LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yXzEwMDAiLCJidWNrZXRzIjo2MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIzLTAxLTExIDAzOjMxOjIxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTEzIDAyOjE3OjI1IiwicGFyYW1ldGVycyI6W3siaWQiOjQ1ODUsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0NTg2LCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI4MTMsIm5hbWUiOiJzaG93X3RlbXBsYXRlc19pbnNwZWN0b3JfY2xvZGUgb24gdmFyaWFudCAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMy0wMi0xMyAwMjoxODozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NjMxLCJuYW1lIjoic2hvd190ZW1wbGF0ZXNfaW5zcGVjdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLk1lbWJlcnNoaXBQbGFuLkRpc2FibGVBdXRvUmVuZXdSZWRlc2lnbiI6eyJpZCI6OTU1LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uRGlzYWJsZUF1dG9SZW5ld1JlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoiXC9zZXR0aW5nc1wvYmlsbGluZ1wvbWVtYmVyc2hpcF9wbGFuIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjk3LCJuYW1lIjoiU2hvdyByZWRlc2lnbmVkIERpc2FibGUgYXV0byByZW5ldyBtb2RhbCIsImJ1Y2tldHMiOjIwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTEtMDEgMTU6MzU6MzciLCJwYXVzZWRfb24iOiIyMDIzLTAyLTE3IDEzOjE1OjEwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2MCwibmFtZSI6ImRpc2FibGVfYXV0b19yZW5ld19yZWRlc2lnbiIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjEsIm5hbWUiOiJkaXNhYmxlX2F1dG9fcmVuZXdfcmVkZXNpZ24iLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbeyJpZCI6MzA3LCJ0eXBlIjoibG9jYXRpb24iLCJpbmNsdWRlIjowLCJ2YWx1ZXMiOlsiREUiXX1dfV19LCJKUy5WTS5JbnZpdGVJbkVtcHR5U3RhdGUiOnsiaWQiOjk0MywibmFtZSI6IkpTLlZNLkludml0ZUluRW1wdHlTdGF0ZSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NTYsIm5hbWUiOiJJbnZpdGUgaW4gRW1wdHkgU3RhdGUgUm9sbG91dCB0byAxMCUiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTEwLTIwIDEyOjQwOjUyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQzOTEsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzkyLCJuYW1lIjoiaW52aXRlX2luX2VtcHR5X3N0YXRlIiwiY2hvaWNlIjoidmFyaWFudDEiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAwLCJuYW1lIjoiSW52aXRlIGluIEVtcHR5IFN0YXRlIFJvbGxvdXQgdG8gMTAwJSIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjggMTA6MDI6MzMiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTItMDcgMTY6NTA6MDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ2NCwibmFtZSI6Imludml0ZV9pbl9lbXB0eV9zdGF0ZSIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjUsIm5hbWUiOiJpbnZpdGVfaW5fZW1wdHlfc3RhdGUiLCJjaG9pY2UiOiJ2YXJpYW50MSIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiOnsiaWQiOjkzOSwibmFtZSI6IkpTLlVwbG9hZC5TaG93UXVvdGFXYXJuaW5nVG9GcmVlVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL3VwbG9hZFwvdmlkZW9zIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNjQ5LCJuYW1lIjoiKiBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDktMzAgMTI6Mjg6MzIiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDEiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzODIsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY1NSwibmFtZSI6Iis0MCUgLSBTaG93IHF1b3RhIHdhcm5pbmcgdG8gRnJlZSB1c2VycyBvbiB1cGxvYWQgcGFnZSIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMDMgMTE6NDU6NDAiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMTAtMDUgMTY6MjM6NDciLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDM4OSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzOTAsIm5hbWUiOiJxdW90YV93YXJuaW5nX2ZyZWVfdXNlcnMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY2MCwibmFtZSI6IjUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0wNSAxNjoyMzozNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDAwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQwMSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzAzLCJuYW1lIjoiKzUwJSAtIFNob3cgcXVvdGEgd2FybmluZyB0byBGcmVlIHVzZXJzIG9uIHVwbG9hZCBwYWdlIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0zMSAxMzowMzo1MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDcwLCJuYW1lIjoicXVvdGFfd2FybmluZ19mcmVlX3VzZXJzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDQ3MSwibmFtZSI6InF1b3RhX3dhcm5pbmdfZnJlZV91c2VycyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5BVlMuU3Vuc2V0QVZTUHJpdmFjeSI6eyJpZCI6OTMyLCJuYW1lIjoiSlMuQVZTLlN1bnNldEFWU1ByaXZhY3kiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvOmNsaXBJZFwvYWR2YW5jZWQiLCJleHBlcmltZW50cyI6W3siaWQiOjI2NDQsIm5hbWUiOiJBVlMgUHJpdmFjeSBNaWdyYXRpb24iLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTMwIDEwOjI0OjE0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTEwLTI0IDExOjIxOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQzNzIsIm5hbWUiOiJtaWdyYXRlX3ByaXZhY3lfc3Z2IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDM3MywibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjY5MiwibmFtZSI6IjEwMCUgcmFtcCAtIEFWUyBQcml2YWN5IE1pZ3JhdGlvbiIsImJ1Y2tldHMiOjkwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTAtMjQgMTE6MjE6NDkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDQ1MSwibmFtZSI6Im1pZ3JhdGVfcHJpdmFjeV9zdnYiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDUyLCJuYW1lIjoibWlncmF0ZV9wcml2YWN5X3N2diIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWVkaWFJbnNwZWN0b3IiOnsiaWQiOjkyOCwibmFtZSI6IkpTLkVkaXRvci5NZWRpYUluc3BlY3RvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgxMDApIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0xOCAxMzowOTozMiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNTo0NSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzM0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYyOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMSAwNjoyNjo0MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOS0yOSAwMzoxNzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzQ1LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MzQ2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcwNiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICgyMDApbmV3IiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0wMiAwNTowMjozNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDc2LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjcxOCwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICg4MDApbmV3IiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0xMS0xMCAwNzo0Mjo0OSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNTozMiIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDkzLCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0NDk0LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc0NiwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yICh2YXJpYW50KSAiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMS0yNyAwNjowNjozMSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTI3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6Mjc4NSwibmFtZSI6InNob3dfbWVkaWFfaW5zcGVjdG9yX25ldzIiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMi0yOCAwNDozMTozNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NTc3LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0NTc4LCJuYW1lIjoic2hvd19tZWRpYV9pbnNwZWN0b3IiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayI6eyJpZCI6OTE4LCJuYW1lIjoiSlMuU2V0dGluZ3MuTWVtYmVyc2hpcFBsYW4uU2hvd0NvbnRhY3RTdXBwb3J0TGluayIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjYyMSwibmFtZSI6Ik9mZmVyIGEgZG93bmdyYWRlIG9wdGlvbiIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjAyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjU0OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQzMzEsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDMzMiwibmFtZSI6ImFiX3Nob3dfY29udGFjdF9zdXBwb3J0X2xpbmsiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzMywibmFtZSI6IiogT2ZmZXIgYSBkb3duZ3JhZGUgb3B0aW9uIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwNzo1NDo1NiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NjoyNSIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzUzLCJuYW1lIjoiYWJfc2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQzNTQsIm5hbWUiOiJhYl9zaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI3MDEsIm5hbWUiOiJEb3duZ3JhZGUgQ1RBIiwiYnVja2V0cyI6MjAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0xMC0yOCAxMTo0NzowMyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0NDY2LCJuYW1lIjoic2hvd19jb250YWN0X3N1cHBvcnRfbGluayIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQ0NjcsIm5hbWUiOiJzaG93X2NvbnRhY3Rfc3VwcG9ydF9saW5rIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5oaWRlU3R5bGVzIjp7ImlkIjo5MTUsIm5hbWUiOiJKUy5FZGl0b3IuaGlkZVN0eWxlcyIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvY3JlYXRlXC9jdXN0b21pemVcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjU2MCwibmFtZSI6ImhpZGVTdHlsZXMiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDAyOjUwOjExIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjM2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDYsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNDcsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYzLCJuYW1lIjoiaGlkZVN0eWxlcyAyMDAiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTE0IDEzOjAyOjQ2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjQ2IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTEsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTIsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTY0LCJuYW1lIjoiaGlkZVN0eWxlcyA1MDAiLCJidWNrZXRzIjozMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTA2IDAzOjA2OjQxIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIzLTAyLTE2IDA2OjUyOjU0IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNTMsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyNTQsIm5hbWUiOiJoaWRlX3N0eWxlcyIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTcyLCJuYW1lIjoiaGlkZVN0eWxlcyAxMDAwIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0wNiAwNTo1ODoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjY1LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjY2LCJuYW1lIjoiaGlkZV9zdHlsZXMiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciI6eyJpZCI6OTExLCJuYW1lIjoiSlMuRWRpdG9yLlRyYW5zY3JpcHRpb25WaWRlb0VkaXRvciIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6IlwvbWFuYWdlXC92aWRlb3MiLCJleHBlcmltZW50cyI6W3siaWQiOjI1NDcsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImJ1Y2tldHMiOjEsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTI4IDA3OjAwOjU2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjQyMjAsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQyMjEsIm5hbWUiOiJ0cmFuc2NyaXB0aW9uX3ZpZGVvX2VkaXRvciIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjEwMDAwMDAwMDB9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNzc4LCJuYW1lIjoidHJhbnNjcmlwdGlvbl92aWRlb19lZGl0b3JfcmVsZWFzZSIsImJ1Y2tldHMiOjk5OSwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMTItMTUgMDU6MDE6MjEiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDU3MSwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDU3MiwibmFtZSI6InRyYW5zY3JpcHRpb25fdmlkZW9fZWRpdG9yIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MH1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5kcmFnb25mbHkiOnsiaWQiOjkwOCwibmFtZSI6IkpTLkVkaXRvci5kcmFnb25mbHkiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJcL21hbmFnZVwvdmlkZW9zXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUzMiwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjYgMDg6NTM6MjUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDctMjggMDI6MjI6MjMiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDE5NywibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDE5OCwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NDQsIm5hbWUiOiJzaG93X2RyYWdvbmZseSAxMDAlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMjggMDI6MjQ6MDgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDIxNSwibmFtZSI6InNob3dfZHJhZ29uZmx5IiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLkVkaXRvci5zaG93VG9vbGJhciI6eyJpZCI6ODk3LCJuYW1lIjoiSlMuRWRpdG9yLnNob3dUb29sYmFyIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJjdWlkIiwidXJsIjoidmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjUxNCwibmFtZSI6IlNob3cgdG9vbCBiYXIgKDEwJSkiLCJidWNrZXRzIjoxMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTExIDE1OjE2OjQ1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTI0IDAzOjU4OjE4IiwicGFyYW1ldGVycyI6W3siaWQiOjQxNjcsIm5hbWUiOiJzaG93X3Rvb2xiYXIiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfSx7ImlkIjo0MTY4LCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MTYsIm5hbWUiOiJTaG93IHRvb2wgYmFyICg5MCUpIiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNy0xMyAwNDoxOToyMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1ODoyOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTcxLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDE3MiwibmFtZSI6InNob3dfdG9vbGJhciIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTM1LCJuYW1lIjoiU2hvdyB0b29sIGJhciAoY2xvc2UgdGVzdCkiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wNy0yNCAwMzo1OToyOCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjAzLCJuYW1lIjoic2hvd190b29sYmFyIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLlNldHRpbmdzLkNhbmNlbGxhdGlvbi5HZXJtYW55Ijp7ImlkIjo4OTUsIm5hbWUiOiJKUy5TZXR0aW5ncy5DYW5jZWxsYXRpb24uR2VybWFueSIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoiY3VpZCIsInVybCI6Ilwvc2V0dGluZ3NcL2JpbGxpbmdcL21lbWJlcnNoaXBfcGxhbiIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjQ4NywibmFtZSI6Ikdlcm1hbnkgUmVnaW9uIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDctMDEgMDk6Mzg6MTgiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDEyOSwibmFtZSI6ImNhbmNlbF9pbl9zdXJ2ZXkiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfSx7ImlkIjo0MTMwLCJuYW1lIjoiY2FuY2VsX2luX3N1cnZleSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOlt7ImlkIjoyODYsInR5cGUiOiJsb2NhdGlvbiIsImluY2x1ZGUiOjEsInZhbHVlcyI6WyJERSJdfV19XX0sIkpTLkxPSFAuRnVsbFBhZ2VSZWRlc2lnbiI6eyJpZCI6ODgyLCJuYW1lIjoiSlMuTE9IUC5GdWxsUGFnZVJlZGVzaWduIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoiaHR0cHM6XC9cL3ZpbWVvLmNvbVwvIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyNDU2LCJuYW1lIjoiSG9tZSBwYWdlIC0gTmV3IFZlcnNpb24gLSBBbGwgVXNlcnMiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0xNCAxNjoyMTozMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOCAwMToxOTozOCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDg1LCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI0ODMsIm5hbWUiOiJIb21lIHBhZ2UgTW9iaWxlIFRlc3QiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0yOCAwMToyMDo0MiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0xMiAwOTo0Mzo1OCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MTIzLCJuYW1lIjoic2hvd19wYWdlIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDEyNCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTYxLCJuYW1lIjoiVmFyaWFudCB0byAxMDAlIHVzZXJzIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDgtMTIgMDk6NDU6MDciLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDI0OCwibmFtZSI6InNob3dfcGFnZSIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZWNvcmRFeHRlbnNpb24uU2lnblVwV2FsbCI6eyJpZCI6ODQ5LCJuYW1lIjoiSlMuUmVjb3JkRXh0ZW5zaW9uLlNpZ25VcFdhbGwiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJcLyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjMyNSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwiLCJidWNrZXRzIjowLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0yOCAwODo1Mzo1MCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yOCAwODo1NTo1NiIsInBhcmFtZXRlcnMiOlt7ImlkIjozOTEyLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzkxMywibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyMzUyLCJuYW1lIjoiKiBSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjMsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjggMDg6NTY6MjkiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjIwMjItMDQtMjkgMTA6Mzc6NTIiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkzOSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM5NDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjowfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOSwibmFtZSI6IlJlY29yZCBFeHRlbnNpb24gU2lnblVwIFdhbGwgLSBwcm9kIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wNyAwNToyMDoxMCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNi0yOSAxMTowMzo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDYwLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDA2MSwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNDg2LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCBcdTA0M2MyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA2LTI5IDExOjA2OjA0IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA3LTA0IDExOjQ1OjQ3IiwicGFyYW1ldGVycyI6W3siaWQiOjQxMjcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTI4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1MDAsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA3LTA2IDEwOjI1OjE4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA4LTA5IDA4OjAyOjQxIiwicGFyYW1ldGVycyI6W3siaWQiOjQxNDcsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MTQ4LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTYsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wOC0wOSAwODowMzo0NiIsInBhdXNlZF9vbiI6IjIwMjItMDgtMDkgMDg6MDM6NTciLCJzdG9wcGVkX29uIjoiMjAyMi0wOC0wOSAwODowNDo1NyIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MjM3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6NDIzOCwibmFtZSI6ImZvcmNlX3NpZ25fdXBfd2FsbCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoyNTU3LCJuYW1lIjoiUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCB2MiAtIHByb2QgKEFcL0FcL0JcL0IpIEkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjA2IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjMyIiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDAsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQxLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI1NTgsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIHYyIC0gcHJvZCAoQVwvQVwvQlwvQikgSUkiLCJidWNrZXRzIjo1MDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA4LTA5IDA4OjUxOjEyIiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA3OjQ5OjI3IiwicGFyYW1ldGVycyI6W3siaWQiOjQyNDIsIm5hbWUiOiJmb3JjZV9zaWduX3VwX3dhbGwiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfSx7ImlkIjo0MjQzLCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjI2MzIsIm5hbWUiOiJSZWNvcmQgRXh0ZW5zaW9uIFNpZ25VcCBXYWxsIC0gUm9sbG91dCIsImJ1Y2tldHMiOjEwMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTA5LTIyIDA3OjUwOjA4IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA5LTIyIDA4OjUxOjUxIiwicGFyYW1ldGVycyI6W10sInNlZ21lbnRzIjpbXX0seyJpZCI6MjYzNSwibmFtZSI6IiogUmVjb3JkIEV4dGVuc2lvbiBTaWduVXAgV2FsbCAtIFJvbGxvdXQiLCJidWNrZXRzIjoxMDAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMi0wOS0yMiAwODo1MjoxNCIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MzU3LCJuYW1lIjoiZm9yY2Vfc2lnbl91cF93YWxsIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119XX0sIkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iOnsiaWQiOjgyMCwibmFtZSI6IkpTLldlYmluYXIuUmVnaXN0cmFudENhcEZvclByZW1pdW0iLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6InZ1aWQiLCJ1cmwiOiJ1cGdyYWRlLCBjaGVja291dCBhbmQgbWFya2V0aW5nIHBhZ2VzIiwiZXhwZXJpbWVudHMiOlt7ImlkIjoyMjQzLCJuYW1lIjoiUm9sbG91dCB0byAxMCUgdHJhZmZpYyIsImJ1Y2tldHMiOjEwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDEgMDU6Mjc6MTciLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjQ1Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzgwMywibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MDQsIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQzOCwibmFtZSI6IiogUm9sbG91dCB0byA0MCUgdHJhZmZpYyIsImJ1Y2tldHMiOjQwMCwic3RhdGUiOjIsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDYtMDYgMTE6MTQ6MDEiLCJwYXVzZWRfb24iOiIyMDIyLTA3LTAxIDE0OjMxOjU4Iiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6NDA1OCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6ImNvbnRyb2wiLCJ3ZWlnaHQiOjF9LHsiaWQiOjQwNTksIm5hbWUiOiJzaG93X3ByZW1pdW1fcmVnaXN0cmFudF9jYXAiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjQ0NCwibmFtZSI6IiogKiBSb2xsb3V0IHRvIDUwJSB0cmFmZmljIiwiYnVja2V0cyI6NTAwLCJzdGF0ZSI6MiwicHVibGlzaGVkX29uIjoiMjAyMi0wNi0wOCAwMDowNTozMSIsInBhdXNlZF9vbiI6IjIwMjItMDctMDEgMTQ6MzI6MDQiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjo0MDY5LCJuYW1lIjoic2hvd19wcmVtaXVtX3JlZ2lzdHJhbnRfY2FwIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6NDA3MCwibmFtZSI6InNob3dfcHJlbWl1bV9yZWdpc3RyYW50X2NhcCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5FZGl0b3IuTWFza3NHcmFkdWFsUmVsZWFzZSI6eyJpZCI6ODA3LCJuYW1lIjoiSlMuRWRpdG9yLk1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoxMDAwLCJpbnB1dCI6ImN1aWQiLCJ1cmwiOiJodHRwczpcL1wvdmltZW8uY29tXC9jcmVhdGVcL2N1c3RvbWl6ZSIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MjE2NCwibmFtZSI6Ik1hc2tzR3JhZHVhbFJlbGVhc2UiLCJidWNrZXRzIjoyMDAsInN0YXRlIjozLCJwdWJsaXNoZWRfb24iOiIyMDIyLTAzLTMwIDAyOjI5OjA3IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIyMDIyLTA0LTI2IDA4OjA4OjQzIiwicGFyYW1ldGVycyI6W3siaWQiOjM3MDcsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoidmFyaWFudCIsIndlaWdodCI6MX0seyJpZCI6MzcwOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJjb250cm9sIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MjI2OCwibmFtZSI6Il9NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6ODAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMi0wNC0wNSAwODo0MToyNyIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMi0wNC0yNiAwODowODozMyIsInBhcmFtZXRlcnMiOlt7ImlkIjozODMzLCJuYW1lIjoic3VwcG9ydF9tYXNrcyIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9LHsiaWQiOjM4MzQsIm5hbWUiOiJzdXBwb3J0X21hc2tzIiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX1dLCJzZWdtZW50cyI6W119LHsiaWQiOjIzMzksIm5hbWUiOiJfX19NYXNrc0dyYWR1YWxSZWxlYXNlIiwiYnVja2V0cyI6MTAwMCwic3RhdGUiOjEsInB1Ymxpc2hlZF9vbiI6IjIwMjItMDQtMjYgMTQ6NTc6MTUiLCJwYXVzZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwic3RvcHBlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJwYXJhbWV0ZXJzIjpbeyJpZCI6MzkyOCwibmFtZSI6InN1cHBvcnRfbWFza3MiLCJjaG9pY2UiOiJ2YXJpYW50Iiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfSwiSlMuQ2hlY2tvdXQuQXBwbGVQYXlEZWZhdWx0U2VsZWN0ZWQiOnsiaWQiOjYxMywibmFtZSI6IkpTLkNoZWNrb3V0LkFwcGxlUGF5RGVmYXVsdFNlbGVjdGVkIiwiYnVja2V0cyI6MTAwMCwiaW5wdXQiOiJ2dWlkIiwidXJsIjoicHJvLCBwcmVtaXVtLCBwbHVzLCBidXNpbmVzcyBjaGVja291dCBwYWdlcyIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTYxOCwibmFtZSI6IkFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wMy0zMCAxMToxNToyNiIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyODI3LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6MjgyOCwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfSx7ImlkIjoxNjk5LCJuYW1lIjoiKzkwJSAtIEFwcGxlIHBheSBzZWxlY3RlZCBieSBkZWZhdWx0IiwiYnVja2V0cyI6OTAwLCJzdGF0ZSI6MSwicHVibGlzaGVkX29uIjoiMjAyMS0wNC0wNSAxNzozODowNSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyOTU4LCJuYW1lIjoic2VsZWN0X2FwcGxlX3BheV9ieV9kZWZhdWx0IiwiY2hvaWNlIjoiY29udHJvbCIsIndlaWdodCI6MX0seyJpZCI6Mjk1OSwibmFtZSI6InNlbGVjdF9hcHBsZV9wYXlfYnlfZGVmYXVsdCIsImNob2ljZSI6InZhcmlhbnQiLCJ3ZWlnaHQiOjF9XSwic2VnbWVudHMiOltdfV19LCJKUy5SZXZpZXcuUmVnaXN0ZXJUb0NvbW1lbnQiOnsiaWQiOjYwMSwibmFtZSI6IkpTLlJldmlldy5SZWdpc3RlclRvQ29tbWVudCIsImJ1Y2tldHMiOjEwMDAsImlucHV0IjoidnVpZCIsInVybCI6IlwvOnVzZXJuYW1lXC9yZXZpZXdcLzpjbGlwSWRcLzpjbGlwSGFzaCIsImV4cGVyaW1lbnRzIjpbeyJpZCI6MTU4OSwibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgMTAlIiwiYnVja2V0cyI6MTAwLCJzdGF0ZSI6MywicHVibGlzaGVkX29uIjoiMjAyMS0wMi0xMSAxMToxODo0MSIsInBhdXNlZF9vbiI6IjAwMDAtMDAtMDAgMDA6MDA6MDAiLCJzdG9wcGVkX29uIjoiMjAyMS0wMy0wMSAxMTo1MToxMCIsInBhcmFtZXRlcnMiOlt7ImlkIjoyNzg3LCJuYW1lIjoicmVxdWlyZV9yZWdpc3RyYXRpb24iLCJjaG9pY2UiOiJ0cnVlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX0seyJpZCI6MTYyMywibmFtZSI6IlJlZ2lzdGVyIHRvIENvbW1lbnQgIzIiLCJidWNrZXRzIjoxMDAsInN0YXRlIjoxLCJwdWJsaXNoZWRfb24iOiIyMDIxLTAzLTAxIDExOjUzOjU1IiwicGF1c2VkX29uIjoiMDAwMC0wMC0wMCAwMDowMDowMCIsInN0b3BwZWRfb24iOiIwMDAwLTAwLTAwIDAwOjAwOjAwIiwicGFyYW1ldGVycyI6W3siaWQiOjI4MzcsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6InRydWUiLCJ3ZWlnaHQiOjF9LHsiaWQiOjI4MzgsIm5hbWUiOiJyZXF1aXJlX3JlZ2lzdHJhdGlvbiIsImNob2ljZSI6ImZhbHNlIiwid2VpZ2h0IjoxfV0sInNlZ21lbnRzIjpbXX1dfX07CiAgICA8L3NjcmlwdD4KPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgd2luZG93Ll9ndG0gPSBbeyJleGNlcHRpb25faHR0cF9jb2RlIjo0MDQsImxhbmd1YWdlIjoiZW4iLCJ1c2VyX3N0YXR1cyI6ImxvZ2dlZF9vdXQiLCJ1c2VyX3R5cGUiOiJub25lIiwiZ2FfdW5pdmVyc2FsX2lkIjoiVUEtNzY2NDEtOCIsImNvbXNjb3JlX3NpdGVfaWQiOjEwMzQ4Mjg5fV07CgogICAgICAgIHZhciBnZHByQ29va2llID0gKGRvY3VtZW50LmNvb2tpZS5tYXRjaCgvXig/Oi4qOyk/XHMqdmltZW9fZ2Rwcl9vcHRpblxzKj1ccyooW147XSspKD86LiopPyQvKXx8WyxudWxsXSlbMV07CiAgICBpZiAoZ2RwckNvb2tpZSA9PT0gJy0xJykgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgJ3Z1aWQnOiBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopdnVpZFxzKlw9XHMqKFteO10qKS4qJCl8Xi4qJC8sICIkMSIpLAogICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAnZXZlbnQnOiAnZ3RtLmpzJwogICAgfSk7CiAgICAgICAgCiAgICB2YXIgYWN0aXZlR3JvdXBzID0gd2luZG93Lk9uZXRydXN0QWN0aXZlR3JvdXBzIHx8ICcnOwogICAgdmFyIGd0bXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSwKICAgICAgICBub2RlOwogICAgZ3Rtcy5hc3luYyA9IHRydWU7CiAgICBndG1zLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGd0bXMuY2xhc3NOYW1lID0gIm9wdGFub24tY2F0ZWdvcnktQzAwMDIiOwogICAgZ3Rtcy5zcmMgPSAnLy93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1SQktLJmw9X2d0bSc7CiAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgIG5vZGUuYXBwZW5kQ2hpbGQoZ3Rtcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgdmFyIGdvb2dsZXRhZyA9IGdvb2dsZXRhZyB8fCB7fSwKICAgICAgICBncHRhZHNsb3RzID0gW10sCiAgICAgICAgbGFuZ3VhZ2UsCiAgICAgICAgaGFzX3VwbG9hZGVkLAogICAgICAgIGNvaG9ydDsKICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOwoKICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZ2RwckNvb2tpZSA9IChkb2N1bWVudC5jb29raWUubWF0Y2goL14oPzouKjspP1xzKnZpbWVvX2dkcHJfb3B0aW5ccyo9XHMqKFteO10rKSg/Oi4qKT8kLyl8fFssbnVsbF0pWzFdOwogICAgICAgIGlmIChnZHByQ29va2llID09PSAnLTEnKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFjdGl2ZUdyb3VwcyA9IHdpbmRvdy5PbmV0cnVzdEFjdGl2ZUdyb3VwcyB8fCAnJzsKICAgICAgICB2YXIgZ2FkcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLAogICAgICAgICAgICB1c2VTU0wgPSAnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwKICAgICAgICAgICAgbm9kZTsKICAgICAgICBnYWRzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBnYWRzLnR5cGUgPSBhY3RpdmVHcm91cHMuaW5kZXhPZigiQzAwMDIiKSA9PT0gLTEgPyAndGV4dC9wbGFpbicgOiAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBnYWRzLmNsYXNzTmFtZSA9ICJvcHRhbm9uLWNhdGVnb3J5LUMwMDAyIjsKICAgICAgICBnYWRzLnNyYyA9ICh1c2VTU0wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuaGVhZDsKICAgICAgICBub2RlLmFwcGVuZENoaWxkKGdhZHMpOwogICAgfSkoKTsKCiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSBkb2N1bWVudC5jb29raWUucmVwbGFjZSgvKD86KD86XnwuKjtccyopbGFuZ3VhZ2VccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKTsKICAgICAgICAgICAgaGFzX3VwbG9hZGVkID0gKGRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8oPzooPzpefC4qO1xzKiloYXNfdXBsb2FkZWRccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPyAnWScgOiAnTic7CiAgICAgICAgICAgIGNvbnNlbnQgPSAoZG9jdW1lbnQuY29va2llLnJlcGxhY2UoLyg/Oig/Ol58Lio7XHMqKXZpbWVvX2dkcHJfb3B0aW5ccypcPVxzKihbXjtdKikuKiQpfF4uKiQvLCAiJDEiKSkgPT09ICctMScgPyAxIDogMDsKICAgICAgICAgICAgY29ob3J0ID0gJ0EnOwogICAgICAgIAogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2xhbmd1YWdlJywgW2xhbmd1YWdlXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnaXNfdXBsb2FkZXInLCBbaGFzX3VwbG9hZGVkXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnY29ob3J0JywgW2NvaG9ydF0pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ2NvaG9ydF9hJywgWyhjb2hvcnQgPT09ICdBJykgPyAnWScgOiAnTiddKTsKICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdjb2hvcnRfYicsIFsoY29ob3J0ID09PSAnQicpID8gJ1knIDogJ04nXSk7CiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygncHJvZHVjdCcsIFsnJ10pOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRUYXJnZXRpbmcoJ3N0b3JhZ2UnLCBbJ04nXSk7CgogICAgICAgICAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnc2VjJywgWydmYWxzZSddKTsKCiAgICAgICAgZ29vZ2xldGFnLnB1YmFkcygpLnNldFRhcmdldGluZygnbG9nZ2VkX2luJywgWydmYWxzZSddKTsKCiAgICAgICAgICAgICAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0VGFyZ2V0aW5nKCdycHYnLCAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMSkudG9TdHJpbmcoKSk7CgogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKGNvbnNlbnQpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVBc3luY1JlbmRlcmluZygpOwogICAgICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5kaXNhYmxlSW5pdGlhbExvYWQoKTsKICAgICAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIH0pOwo8L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvYWJsaW5jb2xuX2NvbWJpbmVkXzk1YWYwMzM3OTRlYzUzMWYyMWY5M2FmMzkwNmFiMzhlLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0ib25zaXRlICI+CiAgICAgICAgPGRpdiBpZD0id3JhcCIgY2xhc3M9Im91dGVyX3dyYXAiPgogICAgICAgICAgICA8ZGl2IGlkPSJ0b3BuYXZfb3V0ZXJfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjcmVhdGUtZmFjZWJvb2staGVhZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmltZW9CcmFuZF9Db2xvclJpYmJvbiAiPjwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCgo8c3R5bGU+CiAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIEBrZXlmcmFtZXMgcmVjb3JkX2FuaW1hdGlvbiB7CiAgICAgICAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7CiAgICAgICAgfQogICAgfQoKICAgIC5sb2dnZWRfb3V0X3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgNTsKICAgIH0KCiAgICAubG9nZ2VkX2luX3JlY29yZF9hbmltYXRpb24gewogICAgICAgIGFuaW1hdGlvbjogcmVjb3JkX2FuaW1hdGlvbiAxLjVzIC4yNXMgaW5maW5pdGU7CiAgICB9CgogICAgLm5ld19sYWJlbCB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgcGFkZGluZzogMCAycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKPC9zdHlsZT4KCjxzY3JpcHQ+CiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307Cjwvc2NyaXB0PgoKPGRpdiBpZD0idG9wbmF2X2Rlc2t0b3AiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcCAiIHJvbGU9ImJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF93cmFwcGVyICI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9kZXNrdG9wX2xvZ28iIGhyZWY9Ii8vdmltZW8uY29tIiBhbHQ9IkdvIHRvIFZpbWVvIGhvbWUgcGFnZSIgYXJpYS1sYWJlbD0iR28gdG8gVmltZW8gaG9tZSBwYWdlIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp2aW1lb19ob21lIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9ob21lX2NsaWNrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMjIuNDQ4IDE0LjU3NWMtLjEwNCAyLjE3LTEuNjE4IDUuMTQ2LTQuNTQ0IDguOTEyLTMuMDMgMy45NDItNS41OSA1LjkxMi03LjY4NiA1LjkxMi0xLjI5NyAwLTIuMzk3LTEuMjA0LTMuMy0zLjYtLjYtMi4yLTEuMjAyLTQuMzk4LTEuNzk0LTYuNTk4LS42NjQtMi4zOTYtMS4zOC0zLjYtMi4xNDctMy42LS4xNjYgMC0uNzQ3LjM1NC0xLjc1MyAxLjA1bC0xLjA0OC0xLjM1YzEuMS0uOTY1IDIuMTktMS45MyAzLjI1Ny0yLjkwNSAxLjQ2My0xLjI2NSAyLjU3My0xLjk0IDMuMy0yLjAwMiAxLjczMi0uMTY2IDIuOCAxLjAxNyAzLjIwNSAzLjU1OC40MzUgMi43NC43MzYgNC40NC45MDIgNS4xMTUuNDk4IDIuMjcgMS4wNDggMy40MDIgMS42NSAzLjQwMi40NjYgMCAxLjE3Mi0uNzM3IDIuMTA1LTIuMjEuOTM0LTEuNDczIDEuNDMyLTIuNTkzIDEuNTA0LTMuMzcuMTMzLTEuMjc3LS4zNjUtMS45MS0xLjUwNi0xLjkxLS41MyAwLTEuMDguMTI1LTEuNjUuMzY0IDEuMS0zLjU5IDMuMTg2LTUuMzMzIDYuMjc3LTUuMjMgMi4yNzMuMDczIDMuMzUgMS41NTYgMy4yMjcgNC40Nm0xMy43NTUgNy4wMzRjLS45MzMgMS43NjQtMi4yMiAzLjM3LTMuODYgNC44MDMtMi4yNCAxLjkzLTQuNDcgMi45MDUtNi43IDIuOTA1LTEuMDM3LjAwMi0xLjgyNi0uMzMtMi4zNzYtLjk5NC0uNTUtLjY2My0uODEtMS41MzUtLjc3Ny0yLjYwMy4wMy0xLjEuMzcyLTIuOCAxLjAyNS01LjEwNC42NTQtMi4zMDMuOTc2LTMuNTM3Ljk3Ni0zLjcwMyAwLS44Ni0uMy0xLjI5Ny0uOTAyLTEuMjk3LS4xOTggMC0uNzcuMzUzLTEuNzAyIDEuMDQ4bC0xLjE1Mi0xLjM1YzEuMDctLjk2MiAyLjEzNy0xLjkyNyAzLjIwNi0yLjkwMiAxLjQzLTEuMjY2IDIuNS0xLjk0IDMuMjA1LTIuMDAyIDEuMS0uMTAzIDEuOTEuMjMgMi40MjguOTc2LjUxOC43NDcuNzA1IDEuNzIyLjU4IDIuOTE1LS40MzUgMi4wMzQtLjkwMiA0LjYwNy0xLjQgNy43My0uMDMgMS40My40ODggMi4xNDYgMS41NTYgMi4xNDYuNDY3IDAgMS4yOTctLjQ5OCAyLjUtMS40ODMuOTk2LS44MiAxLjgxNS0xLjU5OCAyLjQ1LTIuMzI0bC45NDIgMS4yNDRtLTQuMzU3LTE3LjhjLS4wMy44My0uNDQ2IDEuNjI4LTEuMjU1IDIuMzk1LS45Ljg2LTEuOTcgMS4yOTYtMy4yMDQgMS4yOTYtMS45IDAtMi44MjItLjgzLTIuNzUtMi40OS4wMzItLjg2LjU0LTEuNjkgMS41MjYtMi40OS45ODUtLjc5NyAyLjA3NC0xLjE5IDMuMjc4LTEuMTkuNzA1IDAgMS4yODYuMjcgMS43NTMuODIuNDY3LjU0LjY4NCAxLjEuNjUzIDEuNjZtMzUuNjEyIDE3LjhjLS45MzMgMS43NjMtMi4yMiAzLjM3LTMuODYgNC44MDItMi4yNCAxLjkzLTQuNDcgMi45MDQtNi43IDIuOTA0LTIuMTY4LjAwMi0zLjIxNi0xLjIwMi0zLjE1My0zLjU5OC4wMy0xLjA3LjIzOC0yLjM1NS42MjItMy44NS4zODQtMS41MDMuNTktMi42NjUuNjIzLTMuNTA1LjAzLTEuMjY1LS4zNTMtMS44OTgtMS4xNTItMS44OTgtLjg3IDAtMS45MSAxLjAzNi0zLjExMiAzLjEtMS4yNzYgMi4xNjgtMS45NiA0LjI3NC0yLjA2NCA2LjMwOC0uMDczIDEuNDMuMDcyIDIuNTQuNDI1IDMuMjk4LTIuMzI0LjA2NC0zLjk2My0uMzItNC44ODYtMS4xNS0uODMtLjczNy0xLjIxMi0xLjk1LTEuMTUtMy42NTIuMDMtMS4wNjguMTk4LTIuMTM3LjQ4OC0zLjIwNS4yOS0xLjA3LjQ1Ny0yLjAyMy40ODgtMi44NTMuMDYyLTEuMjM0LS4zODQtMS44NTctMS4zNS0xLjg1Ny0uODQgMC0xLjc0Ljk1NS0yLjcwNiAyLjg1My0uOTY2IDEuOS0xLjUwNSAzLjg5LTEuNjEgNS45NTYtLjA2IDEuODY3LjA1MyAzLjE3NC4zNjQgMy45LTIuMjkzLjA2Mi0zLjkyLS40MTUtNC44NzYtMS40NTItLjc5OC0uODYtMS4xNi0yLjE4LTEuMS0zLjk0Mi4wMzItLjg2LjE4OC0yLjA3NS40NTctMy42Mi4yOC0xLjU0Ni40MjUtMi43NS40NTctMy42Mi4wNjItLjYwMy0uMDgzLS45MDMtLjQ0Ni0uOTAzLS4xOTcgMC0uNzY4LjM0LTEuNzAyIDEuMDE1bC0xLjIwMy0xLjM0OGMuMTY4LS4xMzUgMS4yMTYtMS4xIDMuMTU2LTIuOTA1IDEuNC0xLjI5NyAyLjM1NC0xLjk3IDIuODUyLTIuMDAyLjg3Mi0uMDczIDEuNTY3LjI5IDIuMTA2IDEuMDguNTMuNzg3LjggMS42OS44IDIuNzI3IDAgLjMzMi0uMDMyLjY1NC0uMTA1Ljk1NC40OTctLjc2NiAxLjA4LTEuNDMgMS43NTItMiAxLjUzNy0xLjM0IDMuMjYtMi4wODYgNS4xNTctMi4yNTIgMS42NC0uMTM1IDIuOC4yNSAzLjUwNSAxLjE1Mi41Ny43MzYuODMgMS43ODQuOCAzLjE1My4yMzctLjE5OC40ODYtLjQxNi43NDYtLjY1NC43NjctLjkwMyAxLjUxNC0xLjYyIDIuMjUtMi4xNDggMS4yMzUtLjkwMiAyLjUyLTEuNCAzLjg2LTEuNTA0IDEuNTk3LS4xMzUgMi43NS4yNSAzLjQ1NCAxLjE1Mi42MDIuNzI2Ljg3IDEuNzc0LjggMy4xNDMtLjAzMi45MzMtLjI2IDIuMjgtLjY3NSA0LjA2NS0uNDE2IDEuNzczLS42MjQgMi44LS42MjQgMy4wNy0uMDMuNjk1LjAzIDEuMTgyLjE5NyAxLjQ0Mi4xNjYuMjcuNTcuMzk0IDEuMjAzLjM5NC40NjcgMCAxLjI5Ny0uNDk3IDIuNS0xLjQ4Mi45OTYtLjgyIDEuODE2LTEuNTk4IDIuNDUtMi4zMjRsLjk2MyAxLjI1NG0xOC43NjUtLjA1MmMtLjk2NSAxLjU5OC0yLjg3NCAzLjE5NS01LjcwNiA0Ljc5My0zLjUzOCAyLjAzMi03LjEyNyAzLjA1LTEwLjc1OCAzLjA1LTIuNzA2IDAtNC42MzYtLjkwNC01LjgwOC0yLjctLjgzLTEuMjMzLTEuMjM0LTIuNjk2LTEuMjAzLTQuNDA3LjAzLTIuNjk4IDEuMjM0LTUuMjcgMy42LTcuNzEgMi42MDMtMi42NjUgNS42NzQtNC4wMDMgOS4yMS00LjAwMyAzLjI3IDAgNSAxLjMyOCA1LjIwOCAzLjk5NC4xMzUgMS43MDItLjc5OCAzLjQ0NS0yLjggNS4yNC0yLjEzNyAxLjk2LTQuODI0IDMuMjE1LTguMDYgMy43NDQuNi44MyAxLjUwNCAxLjI0NSAyLjcwNyAxLjI0NSAyLjM5NiAwIDUuMDItLjYxMyA3Ljg2My0xLjgzNyAyLjAzMy0uODYgMy42My0xLjc1MyA0LjgwMy0yLjY3NmwuOTQ1IDEuMjY1bS0xMS4zNi01LjIyOGMuMDMyLS44OTItLjMzLTEuMzUtMS4xLTEuMzUtLjk5NCAwLTIuMDEuNjg2LTMuMDQ4IDIuMDY2LTEuMDM4IDEuMzgtMS41NjcgMi42OTctMS41OTggMy45NjItLjAyIDAtLjAyLjIxOCAwIC42NDMgMS42My0uNiAzLjA1LTEuNTE0IDQuMjQyLTIuNzM4Ljk2Ni0xLjA1OCAxLjQ2My0xLjkyIDEuNTA1LTIuNTgzbTI0Ljk0NiAxLjg2OGMtLjEzNSAzLjA3Mi0xLjI2NSA1LjcxNy0zLjQwMiA3Ljk0Ny0yLjEzNSAyLjIzLTQuNzkgMy4zNS03Ljk1NSAzLjM1LTIuNjM1IDAtNC42MzctLjg1LTYuMDA2LTIuNTUtLjk5Ny0xLjI2Ny0xLjU1Ny0yLjg1NC0xLjY1LTQuNzUyLS4xNjYtMi44NjMuODYtNS40OTggMy4xLTcuODk0IDIuNDA4LTIuNjY1IDUuNDI3LTMuOTkzIDkuMDU3LTMuOTkzIDIuMzM0IDAgNC4wOTguNzg4IDUuMyAyLjM0NCAxLjEzMiAxLjQ0MyAxLjY1IDMuMjkgMS41NTcgNS41NW0tNS42NjQtLjE4NWMuMDMtLjkwMy0uMDk0LTEuNzMzLS4zNzQtMi40OC0uMjgtLjc0Ny0uNjk1LTEuMTMtMS4yMjQtMS4xMy0xLjcwMiAwLTMuMTAyLjkyMy00LjIwMiAyLjc2LS45MzMgMS41MDMtMS40MyAzLjExLTEuNTA0IDQuODEyLS4wMy44NC4xMTQgMS41NzcuNDQ2IDIuMjEuMzY0LjczNi44ODIgMS4xIDEuNTU2IDEuMSAxLjUwNSAwIDIuNzktLjg4MyAzLjg2LTIuNjU2Ljg5Mi0xLjQ3MiAxLjM4LTMuMDA4IDEuNDQtNC42MTVoLjAwMnoiIGZpbGw9IiMxMTIyMzMiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9zdG9ja19sb2dvIiBocmVmPSIvc3RvY2siPgogICAgICAgICAgICAgICAgPHN2ZyBhbHQ9IlZpbWVvIiB3aWR0aD0iMTcwIiBoZWlnaHQ9IjQwIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCA3ODAgMTIwIj48cGF0aCBkPSJNNDcxLjkgNzAuMzFjLTEyLjE0LTIuNzQtMjQuMjgtMy45LTI0LjI4LTEyIDAtNi41IDguODItNy42NiAxMy41OS03LjY2IDcuMjIgMCAxMy43MyAyLjE3IDE1LjE3IDEwaDE3LjJjLTItMTYuNjItMTUuOS0yMy0zMS4yMi0yMy0xMy41OCAwLTMxLjIxIDUuMDUtMzEuMjEgMjEuMzggMCAxNS4xNyAxMS44NSAxOS41MSAyNCAyMi4xMXMyNCAzLjc2IDI0LjQyIDEyLjQzYy40MyA4LjUyLTEwLjQgOS44Mi0xNi42MiA5LjgyLTguODEgMC0xNi0zLjQ2LTE2LjktMTNoLTE2LjQ5Yy4yOSAxNy42MyAxNC4zMSAyNiAzMy4wOSAyNiAxNS40NiAwIDMzLjM4LTYuNSAzMy4zOC0yNC4yOC0uMDMtMTQuNzItMTIuMTQtMTkuMDUtMjQuMTMtMjEuOHpNNTI1LjY2IDE3LjI4aC0xNi40OHYyMi40aC0xMi40MlY1MmgxMi40MnY0NGMuMjkgMTIuNDMgMy40NyAxOS4wOCAyMC42NyAxOS4wOCAzLjYxIDAgNy4wOC0uNTggMTAuNjktLjg3di0xMi42OGEyOC41MiAyOC41MiAwIDAgMS02Ljk0LjU3Yy03LjM3IDAtNy45NC0zLjQ3LTcuOTQtMTAuMjZWNTJoMTQuODhWMzkuNjhoLTE0Ljg4ek01ODAuODUgMzcuNjZjLTI0IDAtMzcuNzEgMTYuNDctMzcuNzEgMzkuMyAwIDIzIDEzLjczIDM5LjQ1IDM3LjcxIDM5LjQ1UzYxOC41NyA5OS45NCA2MTguNTcgNzdjMC0yMi44Ny0xMy43My0zOS4zNC0zNy43Mi0zOS4zNHptMCA2NS43NGMtMTQuNzMgMC0yMS4yNC0xMy40LTIxLjI0LTI2LjRzNi41MS0yNi4zIDIxLjI0LTI2LjNTNjAyLjEgNjQuMSA2MDIuMSA3N3MtNi41MSAyNi40LTIxLjI1IDI2LjR6TTY2Mi43OSA1MC42NmM5LjEgMCAxNS43NSA0LjkxIDE3LjA1IDE0aDE2LjQ3Yy0xLjU5LTE4LjM1LTE2LjMzLTI3LTMzLjY3LTI3LTI0LjU2IDAtMzYuODUgMTcuNjMtMzYuODUgNDAuMTcgMCAyMiAxMi44NiAzOC41OCAzNi4yNyAzOC41OCAxOS4yMiAwIDMxLjIyLTEwLjY5IDM0LjI1LTMwLjA2aC0xNi40N2MtMS41OSAxMC43LTguMjQgMTcuMDUtMTcuNzggMTcuMDUtMTQuMyAwLTE5Ljc5LTEzLjE1LTE5Ljc5LTI1LjU3IDAtMjIuNjkgMTEuOTktMjcuMTcgMjAuNTItMjcuMTd6TTc0Mi4yNiA2Ny4xM2wyOC42MS0yNy40NWgtMjAuMjNsLTI5Ljc2IDMwLjJWMTEuMjFINzA0LjR2MTAzLjE4aDE2LjQ4Vjg3LjY1bDkuODItOS41MyAyMi44MyAzNi4yN2gyMC4wOWwtMzEuMzYtNDcuMjZ6IiBmaWxsPSIjZmZmIj48L3BhdGg+PHBhdGggZD0iTTExNy4yNSAyNi43MmExOC4zNyAxOC4zNyAwIDAgMCAxMy4xNC01LjMxcTQuOTItNC42OSA1LjEzLTkuOGE5LjYyIDkuNjIgMCAwIDAtMi42Ny02Ljg0IDkuMDggOS4wOCAwIDAgMC03LjE4LTMuMzcgMjAuOTEgMjAuOTEgMCAwIDAtMTMuNDUgNC45cS02LjA2IDQuOTEtNi4yNiAxMC4yMS0uNCAxMC4yMiAxMS4yOSAxMC4yMXpNMzg2LjEyIDM4LjI1cS0yMi4zOCAwLTM3LjE1IDE2LjM5UTMzNS4yIDY5LjQgMzM2LjI0IDg3Yy4wNS44Ni4xMiAxLjcuMjIgMi41M2wtMS41NC42OHEtMTcuNDYgNy41Mi0zMi4yMyA3LjUxLTcuNCAwLTExLjA5LTUuMTIgMTkuOS0zLjI3IDMzLTE1LjM1IDEyLjQtMTEuMDMgMTEuNTQtMjEuNDctMS4yMy0xNi4zNy0yMS4zNC0xNi4zOC0yMS44IDAtMzcuOCAxNi40Mi0xNC41NiAxNS0xNC43NyAzMS42YTM3LjU3IDM3LjU3IDAgMCAwIC4yNyA1LjM3Yy0yLjI5IDEuNTEtNCAyLjI3LTUuMiAyLjI3cS0zLjkgMC00LjkyLTEuNjNjLS42OS0xLjA5LTEtMy4wNi0uODMtNS45M3EwLTEuNjQgMi41Ny0xMi41N3QyLjc3LTE2LjY3cS40LTguMzctMy4yOC0xMi44OC00LjMyLTUuNTItMTQuMTctNC43YTMwLjQyIDMwLjQyIDAgMCAwLTE1LjggNi4xNiA1NC41NyA1NC41NyAwIDAgMC05LjIzIDguODJjLTEuMSAxLTIuMTIgMS44Ni0zLjA4IDIuNjdxLjE5LTguNDEtMy4yOC0xMi45My00LjMyLTUuNTMtMTQuMzgtNC43MmEzNi40NiAzNi40NiAwIDAgMC0yMS4xMyA5LjI0IDM3LjY3IDM3LjY3IDAgMCAwLTcuMTkgOC4yMSAxOC4xNSAxOC4xNSAwIDAgMCAuNDEtMy45QTE5LjQyIDE5LjQyIDAgMCAwIDE2Mi41IDQzcS0zLjI4LTQuODItOC42Mi00LjQxLTMuMDcuMjEtMTEuNjkgOC4yMS0xMS45MSAxMS4wOC0xMi45MyAxMS45bDQuOTIgNS41NGMzLjgzLTIuNzYgNi4xNi00LjE1IDctNC4xNXEyLjI1IDAgMS44NSAzLjY4YTExNC4xMSAxMTQuMTEgMCAwIDEtMS44OSAxNC44NGMtLjcgMy45NC0xLjIgNy4zMy0xLjUyIDEwLjE5bC0uMTguMTVxLTcuMzkgNi4wOC0xMC4yNiA2LjA3Yy00LjM4IDAtNi41LTIuOTItNi4zNy04Ljc5cTMuMDgtMTkuMjIgNS43Ni0zMS42OS44MS03LjM2LTIuMzctMTJ0LTEwLTRxLTQuMzIuNC0xMy4xNCA4LjIxTDk3IDUyLjM5Yy0uNDEtOS42OC00LjgyLTE0LjY2LTEzLjI4LTE0LjkxcS0xOS0uNi0yNS43NCAyMS40NmExNy4xOSAxNy4xOSAwIDAgMSA2Ljc2LTEuNXE3IDAgNi4xNiA3Ljg0LS40NiA0LjcyLTYuMiAxMy44MXQtOC42MiA5LjA2cS0zLjY5IDAtNi43Ny0xNC0xLTQuMTEtMy42OS0yMS0yLjQ3LTE1LjU0LTEzLjE0LTE0LjUyUTI4IDM5IDE4Ljk0IDQ2Ljg0cS02LjU3IDYtMTMuMzQgMTEuOWw0LjMgNS41NFExNi4wNSA2MCAxNy4wNyA2MHE0LjcxIDAgOC44MSAxNC43Nmw3LjM4IDI3LjA2cTUuNTIgMTQuNzYgMTMuNTEgMTQuNzYgMTIuOTIgMCAzMS41NS0yNC4yNCAxMy4xLTE2Ljg0IDE3LTI4LjVjMy40NC0yLjU1IDUuNTctMy44NCA2LjM1LTMuODRxMy42OSAwIDMuNjkgNS4zMyAwIDEtNCAxNS4xOHQtNC4yIDIwLjkycS0uMjEgNi41NyAzLjE4IDEwLjY2YzIuMjUgMi43NCA1LjUxIDQuMTEgOS43NSA0LjExcTEzLjc1IDAgMjcuNS0xMS45Yy44Mi0uNzEgMS42MS0xLjQ0IDIuMzktMi4xOGExNi41MSAxNi41MSAwIDAgMCAzLjc3IDcuNTZxNS45MyA2LjM0IDIwIDUuOTMtMS44OS00LjUyLTEuNDctMTZhNTkuNyA1OS43IDAgMCAxIDYuNTctMjQuNDNxNi0xMS42OCAxMS4xLTExLjcgNiAwIDUuNTUgNy41OWE1My4xMyA1My4xMyAwIDAgMS0yIDExLjcxIDU1LjIzIDU1LjIzIDAgMCAwLTIgMTMuMTNxLS40MSAxMC40NyA0LjcxIDE1IDUuNzMgNS4xMyAyMC4wNSA0LjcyLTIuMTMtNC43MS0xLjcyLTEzLjU0LjYtMTIuNTIgOC40NC0yNS44NiA3LjQxLTEyLjcyIDEyLjc2LTEyLjczIDUgMCA0Ljc0IDcuOGE3NC45NCA3NC45NCAwIDAgMS0yLjU2IDE0LjM2IDc0LjYxIDc0LjYxIDAgMCAwLTIuNTcgMTUuNzlxLS40MSAxNC43OCAxMi45NCAxNC43NyAxMy43NCAwIDI3LjUtMTEuOWwuNDQtLjRjLjMyLjU0LjY0IDEuMDggMSAxLjZxNy4xOSAxMS4wOCAyMy44MSAxMS4wOCAyMi4zNiAwIDQ0LjEzLTEyLjVjMS42My0uOTIgMy4xNy0xLjgzIDQuNjUtMi43NWEyOS40MyAyOS40MyAwIDAgMCAzLjI0IDUuMThxOC40MiAxMC40NSAyNC42MyAxMC40NSAxOS41IDAgMzIuNjQtMTMuNzNhNDguNzkgNDguNzkgMCAwIDAgMTQtMzIuNThxLjYxLTEzLjkzLTYuMzYtMjIuNzUtNy40OS05LjY1LTIxLjg1LTkuNjd6bS05Ny43NiA0Ni41NmExMS4xMiAxMS4xMiAwIDAgMSAwLTIuNjZxLjE5LTcuNzUgNi41NS0xNi4yM3QxMi41LTguNDhjMy4xNSAwIDQuNjUgMS44NSA0LjUxIDUuNTJxLS4xOSA0LjA4LTYuMTQgMTAuNjJhNDYuMjUgNDYuMjUgMCAwIDEtMTcuNDIgMTEuMjN6TTM5MSA2OS44NWEzOSAzOSAwIDAgMS02IDE4LjkycS02LjU3IDEwLjkxLTE1LjgxIDEwLjktNC4xMSAwLTYuMzYtNC41MmExNy42NiAxNy42NiAwIDAgMS0xLjg1LTkuMDUgMzkuODEgMzkuODEgMCAwIDEgNi4xNi0xOS43NHE2Ljg2LTExLjMxIDE3LjMzLTExLjMxYzIuMTkgMCAzLjg2IDEuNTQgNSA0LjYzQTI1LjgyIDI1LjgyIDAgMCAxIDM5MSA2OS44NXoiIGZpbGw9IiMwMGFkZWYiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudSAiIHJvbGU9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9Ik1haW4gbWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudWJhciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJzb2x1dGlvbnMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPWNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnNfbWVudXxrZXl3b3JkOnNvbHV0aW9uc19ob3Zlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGhyZWY9IiMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29sdXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IiBmaWxsPSIjNjU3OTg3Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd24gcm93X2ZsZXgiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0idG9wbmF2X3NvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icm93X2VsZW1lbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1hcmtldGluZyI+VmlkZW8gbWFya2V0aW5nPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPlBvd2VyIHlvdXIgbWFya2V0aW5nIHN0cmF0ZWd5IHdpdGggcGVyZmVjdGx5IGJyYW5kZWQgdmlkZW9zIHRvIGRyaXZlIGJldHRlciBST0kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpldmVudF9tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2V2ZW50X21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpcnR1YWwtZXZlbnRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiICB0aXRsZT0iRXZlbnQgbWFya2V0aW5nIj5FdmVudCBtYXJrZXRpbmc8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX29wdGlvbiBkZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy9jb21tdW5pY2F0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDplbXBsb3llZV9jb21tdW5pY2F0aW9ucyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgIHRpdGxlPSJFbXBsb3llZSBjb21tdW5pY2F0aW9uIj5FbXBsb3llZSBjb21tdW5pY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtLS1tdWx0aWxldmVsIHNvbHV0aW9uc19tZW51IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtIHNvbHV0aW9uc19tZW51IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL3ZpZGVvLW1vbmV0aXphdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tb25ldGl6YXRpb24iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21vbmV0aXphdGlvbiIgY2xhc3M9InNvbHV0aW9uc19tZW51IiAgdGl0bGU9IlZpZGVvIG1vbmV0aXphdGlvbiI+VmlkZW8gbW9uZXRpemF0aW9uPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV9vcHRpb24gZGVzY3JpcHRpb24iPkJ1aWxkIGEgc2l0ZSBhbmQgZ2VuZXJhdGUgaW5jb21lIGZyb20gcHVyY2hhc2VzLCBzdWJzY3JpcHRpb25zLCBhbmQgY291cnNlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0iZmVhdHVyZXMiIGRhdGEtZmF0YWwtYXR0cmFjdGlvbi1pbXByZXNzaW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6ZmVhdHVyZXNfbWVudXxrZXl3b3JkOmxpdmVzdHJlYW1faGlnaGxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9ImV2ZW50LnByZXZlbnREZWZhdWx0KCk7ZXZlbnQudGFyZ2V0LmJsdXIoKTsiIGNsYXNzPSJ0b3BuYXZfbWVudV9ub19saW5rIHRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTpmZWF0dXJlc3xmZWF0dXJlOmZlYXR1cmVzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9mZWF0dXJlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biByb3dfZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfZmVhdHVyZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q3JlYXRlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmludGVyYWN0aXZlX3ZpZGVvIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW98Y29weTpJbnRlcmFjdGl2ZSB2aWRlb3xmZWF0dXJlOmNyZWF0ZV9pbnRlcmFjdGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iIGhyZWY9Ii9mZWF0dXJlcy9pbnRlcmFjdGl2ZS12aWRlbyI+SW50ZXJhY3RpdmUgdmlkZW88L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZXxjb3B5OkxpdmUgc3RyZWFtfGZlYXR1cmU6Y3JlYXRlX2xpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlIj5MaXZlIHN0cmVhbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj5TY3JlZW4gcmVjb3JkZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmNyZWF0ZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NyZWF0ZXxjb3B5OkNyZWF0ZSB2aWRlbyBtYWtlcnxmZWF0dXJlOmNyZWF0ZV92aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZSIgaHJlZj0iL2NyZWF0ZSI+Q3JlYXRlIHZpZGVvIG1ha2VyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDp2aWRlb19lZGl0b3IiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi92aWRlby1lZGl0b3J8Y29weTpPbmxpbmUgdmlkZW8gZWRpdG9yfGZlYXR1cmU6Y3JlYXRlX2VkaXRvcnx0YXJnZXRfcGF0aDovdmlkZW8tZWRpdG9yIiBocmVmPSIvdmlkZW8tZWRpdG9yIj5PbmxpbmUgdmlkZW8gZWRpdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj5IaXJlIGEgdmlkZW8gcHJvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TWFuYWdlPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgIGFyaWEtaGlkZGVuPSJ0cnVlIiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+VmlkZW8gbGlicmFyeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6dmlkZW9fcGxheWVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWV8Y29weTpBZC1mcmVlIHBsYXllcnxmZWF0dXJlOm1hbmFnZV9hZGRfZnJlZV9wbGF5ZXJ8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcGxheWVyP21rYz0zNjhpcF9mbV9hZGZyZWUiPkFkLWZyZWUgcGxheWVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpob3N0aW5nIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3Rpbmd8Y29weTpWaWRlbyBob3N0aW5nfGZlYXR1cmU6bWFuYWdlX3ZpZGVvX2hvc3Rpbmd8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL29ubGluZS12aWRlby1ob3N0aW5nP21rYz0zNjhpcF9mbV9ob3N0aW5nIiBocmVmPSIvZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciPlZpZGVvIGhvc3Rpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+UHJpdmFjeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW0tLW11bHRpbGV2ZWwgIiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgPkdyb3c8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+U21hbGwgYnVzaW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmVudGVycHJpc2UiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93fGNvcHk6RW50ZXJwcmlzZXxmZWF0dXJlOmdyb3dfZW50ZXJwcmlzZXx0YXJnZXRfcGF0aDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3JvdyIgaHJlZj0iL2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciPkVudGVycHJpc2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOndlYmluYXJzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvd2ViaW5hcnxjb3B5OldlYmluYXJzfGZlYXR1cmU6Z3Jvd193ZWJpbmFyc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvd2ViaW5hciIgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiPldlYmluYXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj5WaWRlbyBhbmFseXRpY3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOm1vbmV0aXphdGlvbiIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L290dD9ta2M9ZW50cHJzYnxjb3B5OlZpZGVvIG1vbmV0aXphdGlvbnxmZWF0dXJlOmdyb3dfb3R0fHRhcmdldF9wYXRoOi9vdHQ/bWtjPWVudHByc2IiIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiPlZpZGVvIG1vbmV0aXphdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZ2hsaWdodHNfYmFubmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImJhbm5lcl9oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNTyBWSURFT1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJiYW5uZXJfbWFpbl90ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHRvIGtub3cgZXZlcnl0aGluZyBWaW1lbyBjYW4gZG8gZm9yIHlvdXIgYnVzaW5lc3MuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbnRlcnByaXNlL3dhdGNoLWRlbW8/bWtjPTM2OC10di13ZCIgY2xhc3M9ImJhbm5lcl9idXR0b24gYmFubmVyX2J1dHRvbl90ZXh0IiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpmZWF0dXJlc19oaWdobGlnaHR8a2V5d29yZDp3YXRjaF9kZW1vIj5XYXRjaCBub3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2xlZnQiIGRhdGEtbWVudS1pZD0icmVzb3VyY2VzIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb24taW1wcmVzc2lvbj1jb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX21lbnV8a2V5d29yZDpyZXNvdXJjZXNfaG92ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnRhcmdldC5ibHVyKCk7IiBjbGFzcz0idG9wbmF2X21lbnVfbm9fbGluayB0b3BuYXZfaGFzX2Ryb3Bkb3duIiBkYXRhLWJwLWhvdmVyPSJsb2NhdGlvbjpnbG9iYWxfbmF2fG5hbWU6ZXhwYW5kX2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6cmVzb3VyY2VzfGZlYXR1cmU6cmVzb3VyY2VzIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2Fycm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTUuNWExIDEgMCAwIDEtLjY3LS4yNmwtNS00LjUgMS4zNC0xLjQ4TDEyIDEzLjE1bDQuMzMtMy45IDEuMzQgMS40OS01IDQuNWExIDEgMCAwIDEtLjY3LjI2eiIgZmlsbD0iIzY1Nzk4NyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIHJvd19mbGV4IiByb2xlPSJtZW51IiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9InRvcG5hdl9yZXNvdXJjZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJvd19lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+TGVhcm48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiAgYXJpYS1oaWRkZW49InRydWUiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOmJsb2ciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2luc3BpcmF0aW9uX2Jsb2ciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZ3xjb3B5OlZpbWVvIGJsb2d8ZmVhdHVyZTpsZWFybl9ibG9nfHRhcmdldF9wYXRoOi9ibG9nIiBocmVmPSIvYmxvZyI+VmltZW8gYmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj5WaWRlbyBTY2hvb2w8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6Y3VzdG9tZXJfc3RvcmllcyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nL2NhdGVnb3J5L2Nhc2Utc3R1ZHl8Y29weTpDdXN0b21lciBzdG9yaWVzfGZlYXR1cmU6bGVhcm5fY3VzdG9tZXJfc3Rvcmllc3x0YXJnZXRfcGF0aDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5IiBocmVmPSIvYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5Ij5DdXN0b21lciBzdG9yaWVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmludmVzdG9yX3JlbGF0aW9ucyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbXxjb3B5OkludmVzdG9yIFJlbGF0aW9uc3xmZWF0dXJlOmxlYXJuX2ludmVzdG9yX3JlbGF0aW9uc3x0YXJnZXRfcGF0aDpodHRwczovL2ludmVzdG9ycy52aW1lby5jb20iIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSI+SW52ZXN0b3IgUmVsYXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbS0tbXVsdGlsZXZlbCAiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiA+Q29ubmVjdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Im1lbnUiICBhcmlhLWhpZGRlbj0idHJ1ZSIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6ZGV2ZWxvcGVyX3Rvb2xzIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tL3xjb3B5OkRldmVsb3BlciB0b29sc3xmZWF0dXJlOmNvbm5lY3RfZGV2ZWxvcGVyX3Rvb2xzfHRhcmdldF9wYXRoOmh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbS8iPkRldmVsb3BlciB0b29sczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj5QYXJ0bmVyIHByb2dyYW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpjcmVhdGl2ZV9jb21tdW5pdHkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZXhwZXJ0c3xjb3B5OkNyZWF0aXZlIGNvbW11bml0eXxmZWF0dXJlOmNvbm5lY3RfY3JlYXRpdmVfY29tbXVuaXR5fHRhcmdldF9wYXRoOi9leHBlcnRzIiBocmVmPSIvZXhwZXJ0cyI+Q3JlYXRpdmUgY29tbXVuaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6aGVscF9jZW50ZXIiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2hlbHAudmltZW8uY29tL3xjb3B5OkhlbHAgY2VudGVyfGZlYXR1cmU6Y29ubmVjdF9oZWxwX2NlbnRlcnx0YXJnZXRfcGF0aDpodHRwczovL2hlbHAudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9oZWxwLnZpbWVvLmNvbS8iPkhlbHAgY2VudGVyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfbGVmdCIgZGF0YS1tZW51LWlkPSJ3YXRjaCIgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl9oYXNfZHJvcGRvd24iIGRhdGEtYnAtaG92ZXI9ImxvY2F0aW9uOmdsb2JhbF9uYXZ8bmFtZTpleHBhbmRfZ2xvYmFsX25hdl9vcHRpb258Y29weTp3YXRjaHxmZWF0dXJlOndhdGNoIiBocmVmPSIjIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl93YXRjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9hcnJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE1LjVhMSAxIDAgMCAxLS42Ny0uMjZsLTUtNC41IDEuMzQtMS40OEwxMiAxMy4xNWw0LjMzLTMuOSAxLjM0IDEuNDktNSA0LjVhMSAxIDAgMCAxLS42Ny4yNnoiIGZpbGw9IiM2NTc5ODciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93biBjb2x1bW5fZmxleCIgcm9sZT0ibWVudSIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJ0b3BuYXZfd2F0Y2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbHVtbl9lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJvdHknIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2JvdHlfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9iZXN0b2Z0aGV5ZWFyfGNvcHk6QmVzdCBvZiB0aGUgWWVhcnxmZWF0dXJlOmJlc3Rfb2ZfdGhlX3llYXJ8dGFyZ2V0X3BhdGg6L2Jlc3RvZnRoZXllYXInIGhyZWY9Ii9iZXN0b2Z0aGV5ZWFyIj5CZXN0IG9mIHRoZSBZZWFyPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ndG9wbmF2X3dhdGNoX2l0ZW0nIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0nY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6YnJvd3NlX3ZpZGVvcycgZGF0YS1ndG0tY2xpY2s9J3RvcF9uYXZfd2F0Y2hfYnJvd3NlX3ZpZGVvc19jbGljaycgZGF0YS1icC1jbGljaz0nbG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3dhdGNofGNvcHk6QnJvd3NlIFZpZGVvc3xmZWF0dXJlOmJyb3dzZV92aWRlb3N8dGFyZ2V0X3BhdGg6L3dhdGNoJyBocmVmPSIvd2F0Y2giPkJyb3dzZSBWaWRlb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpzdGFmZl9waWNrcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfc3RhZmZfcGlja3NfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVscy9zdGFmZnBpY2tzfGNvcHk6U3RhZmYgUGlja3N8ZmVhdHVyZTpzdGFmZl9waWNrc3x0YXJnZXRfcGF0aDovY2hhbm5lbHMvc3RhZmZwaWNrcyIgaHJlZj0iL2NoYW5uZWxzL3N0YWZmcGlja3MiPlN0YWZmIFBpY2tzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2F0ZWdvcmllcyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2F0ZWdvcmllc19jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2NhdGVnb3JpZXN8Y29weTpDYXRlZ29yaWVzfGZlYXR1cmU6Y2F0ZWdvcmllc3x0YXJnZXRfcGF0aDovY2F0ZWdvcmllcyIgaHJlZj0iL2NhdGVnb3JpZXMiPkNhdGVnb3JpZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfd2F0Y2hfaXRlbSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpjaGFubmVscyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfd2F0Y2hfY2hhbm5lbHNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jaGFubmVsc3xjb3B5OkNoYW5uZWxzfGZlYXR1cmU6Y2hhbm5lbHN8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzIiBocmVmPSIvY2hhbm5lbHMiPkNoYW5uZWxzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6b25fZGVtYW5kIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9vbmRlbWFuZF9jbGljayIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl93YXRjaHxuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L29uZGVtYW5kfGNvcHk6T24gRGVtYW5kfGZlYXR1cmU6b25fZGVtYW5kfHRhcmdldF9wYXRoOi9vbmRlbWFuZCIgaHJlZj0iL29uZGVtYW5kIj5PbiBEZW1hbmQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9InByaWNpbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ByaWNpbmdfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByaWNpbmciZGF0YS1icC1jbGljaz1sb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGdyYWRlX3BhZ2V8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258Y29weTp1cGdyYWRlfGZlYXR1cmU6dXBncmFkZXx0YXJnZXRfcGF0aDovdXBncmFkZSBocmVmPSIvdXBncmFkZSIgcmVsPSJ0b2dnbGUiIHJvbGU9ImJ1dHRvbiIgYXJpYS1vd25zPSJ0b3BuYXZfcHJpY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXMgdG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19sZWZ0IiBkYXRhLW1lbnUtaWQ9ImNvbnRhY3Rfc2FsZXMiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2NvbnRhY3Rfc2FsZXNfY2xpY2siIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OmNvbnRhY3Rfc2FsZXN8a2V5d29yZDpjb250YWN0X3NhbGVzIiBocmVmPSIvZW50ZXJwcmlzZS9jb250YWN0LXVzP21rYz0zNjh0bmMiIHJlbD0idG9nZ2xlIiByb2xlPSJidXR0b24iIGFyaWEtb3ducz0idG9wbmF2X2NvbnRhY3Rfc2FsZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgU2FsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbmF2PjwhLS0gLy50b3BuYXZfZGVza3RvcF9tZW51IC0tPgogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idG9wbmF2X21lbnVfc2VhcmNoX29tbmlzZWFyY2giIGNsYXNzPSJ0b3BuYXZfbWVudV9vbW5pc2VhcmNoICIgZGF0YS1xdWVyeT0iIiBkYXRhLXBsYWNlaG9sZGVyPSJTZWFyY2ggdmlkZW9zLCBwZW9wbGUsIGFuZCBtb3JlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbWVudV9yaWdodCAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvcG5hdl9tZW51X2Rlc2t0b3BfbWFpbiIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtcyB0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX3JpZ2h0IiBkYXRhLW1lbnUtaWQ9ImxvZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBsb2dfaW5gLCB0cnVlKTsgfX0pKGV2ZW50KSIgZGF0YS1nYS1ldmVudC1jbGljaz0idG9wX25hdnxsb2dpbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bG9naW58dGFyZ2V0Oi9sb2dfaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2xvZ2luX2NsaWNrIiBocmVmPSIvbG9nX2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9sb2dpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zIHRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfcmlnaHQiIGRhdGEtbWVudS1pZD0iam9pbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0b3BuYXZfbWVudV9qb2luIGpzLXRvcG5hdl9tZW51X2F1dGgiIG9uY2xpY2s9IihmdW5jdGlvbihldmVudCkgeyBpZiAod2luZG93LmhhbmRsZUpvaW5Mb2dpbkYyUCkgeyBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIGBqb2luYCwgdHJ1ZSk7IH19KShldmVudCkiIGRhdGEtZ2EtZXZlbnQtY2xpY2s9InRvcF9uYXZ8am9pbiIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6am9pbnx0YXJnZXQ6L2pvaW4iIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2pvaW5fY2xpY2siIGhyZWY9Ii9qb2luIiByZWw9InRvZ2dsZSIgcm9sZT0iYnV0dG9uIiBhcmlhLW93bnM9InRvcG5hdl9qb2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJlY29yZF90aXBfd3JhcHBlciIgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXIiIG9uTW91c2VlbnRlcj0idHJhY2tOZXdWaWRlb0Ryb3Bkb3duSW1wcmVzc2lvbigndmFyaWFudF9zY3JlZW4nKSI+CiAgICA8YnV0dG9uCiAgICAgICAgaWQ9Im5ld192aWRlb19kcm9wZG93bl9idXR0b24iCiAgICAgICAgY2xhc3M9InRvcG5hdl9kZXNrdG9wX3ZpZGVvX3BvcG92ZXJfYnV0dG9uIGlyaXNfYnRuLS1wcmltYXJ5IgogICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlbyIKICAgICAgICBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2fHRhcmdldDp1cGxvYWRfcGFnZXxuYW1lOm5ld192aWRlb3xjb3B5Om5ld192aWRlb3xmZWF0dXJlOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfHRhcmdldF9wYXRoOi91cGxvYWQnCiAgICAgICAgZGF0YS1icC1ob3Zlcj0nbG9jYXRpb246Z2xvYmFsX25hdnxuYW1lOmV4cGFuZF9uZXdfdmlkZW9fb3B0aW9ufGNvcHk6bmV3X3ZpZGVvfGZlYXR1cmU6bmV3X3ZpZGVvJwogICAgICAgIG9uY2xpY2s9ImhhbmRsZU5ld1ZpZGVvQ2xpY2soKSIKICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3dyYXBwZXIiPgogICAgICAgICAgICBOZXcgdmlkZW8gICAgICAgICAgICA8c3BhbiBpZD0icmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyIiBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfdmlkZW9fcG9wb3Zlcl9zcGFuX3ZhcmlhbnQiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0xMiAxNS41YTEgMSAwIDAgMS0uNjctLjI2bC01LTQuNSAxLjM0LTEuNDhMMTIgMTMuMTVsNC4zMy0zLjkgMS4zNCAxLjQ5LTUgNC41YTEgMSAwIDAgMS0uNjcuMjZ6IgogICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgCiAgICAgICAgICAgIDx1bCBpZD0ibmV3X3ZpZGVvX2Ryb3Bkb3duX3ZhcmlhbnQiIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duIGNvbHVtbl9lbGVtZW50cyB0b3BuYXZfZGVza3RvcF92aWRlb19wb3BvdmVyX2Ryb3Bkb3duX3ZhcmlhbnQiIHJvbGU9Im1lbnUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icGFkZGluZzogdW5zZXQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duX2l0ZW1fdmFyaWFudCIgcm9sZT0ibWVudWl0ZW0iIHRhYmluZGV4PSItMSI+CiAgICAgICAgICAgICAgICAgICAgPGEgb25jbGljaz0iKGZ1bmN0aW9uKGV2ZW50KSB7IGlmICh3aW5kb3cuaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2spIHsgaGFuZGxlVXBsb2FkQnV0dG9uQ2xpY2soZXZlbnQpOyB9fSkoZXZlbnQpIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDp7J2FjdGlvbic6J3VwbG9hZCd9fHRhcmdldDovdXBsb2FkfHR5cGU6Y2xpY2siZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9uZXdfdmlkZW98bmFtZTpzZWxlY3RfbmV3X3ZpZGVvX29wdGlvbnx0YXJnZXQ6dXBsb2FkX3BhZ2V8Y29weTpVcGxvYWR8ZmVhdHVyZTp1cGxvYWR8dGFyZ2V0X3BhdGg6L3VwbG9hZCIgaWQ9InRvcG5hdl9kZXNrdG9wX3VwbG9hZF9idXR0b24iIGhyZWY9Ii91cGxvYWQiID4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ25fdG9wbmF2X2Ryb3Bkb3duX2ljb25zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTE4IDguNDhhNy4xNiA3LjE2IDAgMCAwLTEuODQtNC43NkE1LjgxIDUuODEgMCAwIDAgNi45MiA1YTUuMjQgNS4yNCAwIDAgMC00LjY5IDMuODVBNC45MSA0LjkxIDAgMCAwIDAgMTNhNS4xMyA1LjEzIDAgMCAwIDUgNWgxMGE1LjEgNS4xIDAgMCAwIDUtNC45NCA1Ljg5IDUuODkgMCAwIDAtMi00LjU4ek0xNSAxNmgtNHYtMy41OWwxLjI5IDEuMjkgMS40MS0xLjQxLTMuNy0zLjctMy43MSAzLjdMNy43IDEzLjcgOSAxMi40MVYxNkg1YTMuMTYgMy4xNiAwIDAgMS0zLTMgMi45MSAyLjkxIDAgMCAxIDEuNTItMi41OGwuNC0uMi4wOC0uNDRBMy4zOCAzLjM4IDAgMCAxIDcuNTkgN2guN2wuMjQtLjY2QTMuNjkgMy42OSAwIDAgMSAxMiA0YTMuNzMgMy43MyAwIDAgMSAyLjcyIDEuMTJBNS40NSA1LjQ1IDAgMCAxIDE2IDl2LjU0bC40NS4zQTMuNzkgMy43OSAwIDAgMSAxOCAxMy4wNiAzLjA5IDMuMDkgMCAwIDEgMTUgMTZ6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiMxYTJlM2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBvbmNsaWNrPSJoYW5kbGVDcmVhdGVWaWRlb0NsaWNrKGV2ZW50KSIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6bmV3X3ZpZGVvfGtleXdvcmQ6eydhY3Rpb24nOidjcmVhdGUnfXx0YXJnZXQ6L2NyZWF0ZS90ZW1wbGF0ZXN8dHlwZTpjbGljayJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpjcmVhdGVfaG9tZXBhZ2V8Y29weTpjcmVhdGVfdmlkZW98ZmVhdHVyZTp2aW1lb19jcmVhdGV8dGFyZ2V0X3BhdGg6L2NyZWF0ZS90ZW1wbGF0ZXMiIGlkPSJ0b3BuYXZfZGVza3RvcF9jcmVhdGVfdmlkZW9fYnV0dG9uIiBocmVmPSIvY3JlYXRlL3RlbXBsYXRlcyIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0iTTMuMiAxNi44bDMuOC0xIDEwLTEwYy4yLS4yLjItLjUgMC0uN0wxNC45IDNjLS4yLS4yLS41LS4yLS43IDBsLTIuMSAyLjEgMi44IDIuOEwxMy44IDkgMTEgNi4yIDQuMiAxM2wtMSAzLjh6bTkuOS0xNC45Yy44LS44IDItLjggMi44IDBMMTguMSA0Yy44LjguOCAyIDAgMi44TDcuOCAxNy4ybC01LjYgMS41Yy0uNS4xLS45LS4yLS43LS43bDEuNC01LjdMMTMuMSAxLjl6IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzFhMmUzYiIKICAgICAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsX3dyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZSB2aWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvcG5hdl9kZXNrdG9wX21lbnVfaXRlbXNfZHJvcGRvd25faXRlbV92YXJpYW50IiByb2xlPSJtZW51aXRlbSIgdGFiaW5kZXg9Ii0xIj4KICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpuZXdfdmlkZW98a2V5d29yZDpzY3JlZW5fcmVjb3JkfHR5cGU6Y2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfbmV3X3ZpZGVvfG5hbWU6c2VsZWN0X25ld192aWRlb19vcHRpb258dGFyZ2V0OnZpbWVvX3JlY29yZHxjb3B5OnJlY29yZF9zY3JlZW58ZmVhdHVyZTpyZWNvcmR8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgZGF0YS1zY3JlZW4tcmVjb3JkZXItY3RhPSIiIGlkPSJ0b3BuYXZfZGVza3RvcF9yZWNvcmRfc2NyZWVuX2J1dHRvbiIgaHJlZj0iL2ZlYXR1cmVzL3NjcmVlbi1yZWNvcmRlciIgPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGlnbl90b3BuYXZfZHJvcGRvd25faWNvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJJY29uLTI0cHgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iT3ZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMikiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBzdHJva2U9IiMxQTJFM0IiIHN0cm9rZS13aWR0aD0iMiIgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIGZpbGw9IiMxQTJFM0IiIHg9IjgiIHk9IjgiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSI0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9kcm9wZG93bl9sYWJlbF93cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgc2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9wbmF2X2Rlc2t0b3BfbWVudV9pdGVtc19kcm9wZG93bl9pdGVtX3ZhcmlhbnQiIHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iLTEiPgogICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Om5ld192aWRlb3xrZXl3b3JkOmxpdmVfdW5pZmllZF9ldmVudF9lbnRyeSJkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X25ld192aWRlb3xuYW1lOnNlbGVjdF9uZXdfdmlkZW9fb3B0aW9ufHRhcmdldDpsaXZlX2V2ZW50X3NldHRpbmdzfGNvcHk6Q3JlYXRlIEV2ZW50fGZlYXR1cmU6bGl2ZXx0YXJnZXRfcGF0aDovL3ZpbWVvLmNvbS9saXZlL3NlbGVjdD9sb2NhdGlvbj10b3BfbmF2X2NsYXNzaWNfdm0iIGlkPSJ0b3BfbmF2X3VuaWZpZWRfY3JlYXRlX2V2ZW50X2J1dHRvbiIgaHJlZj0iLy92aW1lby5jb20vbGl2ZS9zZWxlY3Q/bG9jYXRpb249dG9wX25hdl9jbGFzc2ljX3ZtIiA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduX3RvcG5hdl9kcm9wZG93bl9pY29ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyMCAxNCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgIGQ9Ik0xOSAxaC0xLjQ5YTEgMSAwIDAwLS43Mi4zTDE0IDQuMThWMmEyIDIgMCAwMC0yLTJIMmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJWOS44MmwyLjggMi44N2ExIDEgMCAwMC43Mi4zSDE5YTEgMSAwIDAwMS0xVjJhMSAxIDAgMDAtMS0xem0tNyAxMUgyVjJoMTB6bTYtMWgtLjA2TDE0IDdsMy44OS00SDE4eiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMWEyZTNiIgogICAgICAgICAgICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvc3ZnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfZHJvcGRvd25fbGFiZWxfd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X2Ryb3Bkb3duX2xhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIGV2ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNhcnRfdG9wX25hdiIgY2xhc3M9InRvcG5hdl9jYXJ0X2J1dHRvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIC8udG9wbmF2X21lbnVfcmlnaHQgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gLy50b3BuYXZfZGVza3RvcF93cmFwcGVyIC0tPgo8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIHZhciBpc01vYmlsZSA9IC9pcGhvbmV8aXBvZHxhbmRyb2lkfHdlYm9zfGJsYWNrYmVycnl8d2luZG93cyBwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKCiAgICAgICAgLy8gRE8gTk9UIFJFTU9WRS4gVGhpcyBpcyBhIGNhbGxiYWNrIGZvciB0aGUgbG9naW4gJiBqb2luIGJ1dHRvbnMgaW4gVG9wTmF2QnVpbGRlci4KICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSkgewogICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLnNpZ251cCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB0cmFja0pvaW5Mb2dpbkJQKGF1dGhUeXBlLCBldmVudE5hbWUsIGFjdGlvblR5cGUsIGlzRmluYWxBY3Rpb24pIHsKICAgICAgICAgICAgdmFyIHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXI7CiAgICAgICAgICAgIGlmKEJQICYmIEJQLnRyYWNrRXZlbnQpIHsKICAgICAgICAgICAgICAgIEJQLnRyYWNrRXZlbnQoJ3ZpbWVvLmF1dGhfZmxvd19hY3Rpb24nLCA0LCB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnRfbmFtZTogZXZlbnROYW1lLAogICAgICAgICAgICAgICAgICAgIGF1dGhfdHlwZTogYXV0aFR5cGUsCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uX3R5cGU6IGFjdGlvblR5cGUsCiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlX3ZlcnNpb246ICdsZWdhY3knLAogICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV90eXBlOiAnbW9kYWwnLAogICAgICAgICAgICAgICAgICAgIGlzX2ZpbmFsX2FjdGlvbjogaXNGaW5hbEFjdGlvbiwKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogYCR7YXV0aFR5cGV9X21vZGFsYCwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOiBhdXRoVHlwZSwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlciwKICAgICAgICAgICAgICAgICAgICByZWZlcnJlcl9wYXRoOiByZWZlcnJlciA/IHJlZmVycmVyLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAnJykgOiBudWxsLAogICAgICAgICAgICAgICAgICAgIGNvcHk6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRhcmdldF9wYXRoOiBudWxsLAogICAgICAgICAgICAgICAgICAgIHRoaXJkX3BhcnR5X2ludGVncmF0aW9uOiBudWxsLAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gbG9hZENvb2tpZShrZXkpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IHt9OwogICAgICAgICAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgICAgICAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IGVsLnNwbGl0KCc9Jyk7CiAgICAgICAgICAgICAgICBjb29raWVba2V5LnRyaW0oKV0gPSB2YWx1ZTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgcmV0dXJuIGNvb2tpZVtrZXldOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc2F2ZUNvb2tpZShuYW1lLCB2YWx1ZSwgZGF5cyA9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gOwogICAgICAgICAgICBpZiAodHlwZW9mIGRheXMgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBjb29raWUgKz0gYDsgbWF4LWFnZT0keyhkYXlzICogMjQgKiA2MCAqIDYwKX1gOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIF9nZXRGMnBUZXN0QXNzaWdubWVudCgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuQUJMaW5jb2xuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LkFCTGluY29sbi5nZXRUZXN0KCdKUy5GMlAuUGlsb3QnKS5nZXQoJ2YycCcsICcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsIHR5cGUsIGNvbXBsZXRlTG9naW4gPSB0cnVlLCByZWRpcmVjdFVybCkgewogICAgICAgICAgICBpZihldmVudCkgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIEYyUF9CVUNLRVRfQ09PS0lFID0gJ2YycF9waWxvdF9idWNrZXQnOwogICAgICAgICAgICB2YXIgZjJwQ29va2llID0gbG9hZENvb2tpZShGMlBfQlVDS0VUX0NPT0tJRSk7CiAgICAgICAgICAgIHZhciBqb2luX2J1Y2tldDsKICAgICAgICAgICAgaWYgKGYycENvb2tpZSAmJiBmMnBDb29raWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9IGYycENvb2tpZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBidWNrZXQgPSBfZ2V0RjJwVGVzdEFzc2lnbm1lbnQoKTsKICAgICAgICAgICAgICAgIGlmIChidWNrZXQgIT09IG51bGwgJiYgYnVja2V0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHNhdmVDb29raWUoRjJQX0JVQ0tFVF9DT09LSUUsIGJ1Y2tldCk7CiAgICAgICAgICAgICAgICAgICAgam9pbl9idWNrZXQgPSBidWNrZXQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBqb2luX2J1Y2tldCA9ICdjb250cm9sJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBzd2l0Y2goam9pbl9idWNrZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ3ZhcmlhbnQnOgogICAgICAgICAgICAgICAgICAgIG9wZW5SZWdBdXRoVmFyaWFudCh0eXBlLCByZWRpcmVjdFVybCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIG9wZW5BdXRoTW9kYWwodHlwZSwgY29tcGxldGVMb2dpbiwgcmVkaXJlY3RVcmwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuUmVnQXV0aFZhcmlhbnQodHlwZSwgcmVkaXJlY3RVcmwpIHsKICAgICAgICAgICAgLy8gT3BlbnMgdGhlIG5ldyByZWcgYXV0aCBtb2RhbCBmb3IgYnVja2V0ZWQgbG9nZ2VkIG91dCB1c2VycwogICAgICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5Nb2RhbCkgewogICAgICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSBgL2F1dGgtbW9kYWw/dHlwZT0ke3R5cGV9YDsKICAgICAgICAgICAgICAgIGlmKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgICAgIHNpemU6ICdsYXJnZScsCiAgICAgICAgICAgICAgICAgICAgY29udGVudCwKICAgICAgICAgICAgICAgICAgICBjb250ZW50X2hhbmRsZXI6IHdpbmRvdy52aW1lby5Nb2RhbC5JZnJhbWVDb250ZW50SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX2NsYXNzbmFtZTogJ2lyaXNfbW9kYWwtYm94LS1yZWdpc3RyYXRpb24tam9pbicsCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZWdpc3RyYXRpb24tSm9pbi1Nb2RhbCcsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9oZWFkZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvcGVuQXV0aE1vZGFsKHR5cGUsIGNvbXBsZXRlTG9naW4sIHJlZGlyZWN0VXJsKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLk1vZGFsKSB7CiAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGAvJHt0eXBlfT9tb2RhbD1uZXdgOwogICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKQogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYCZyZWRpcmVjdD0ke3JlZGlyZWN0VXJsfWA7CiAgICAgICAgICAgICAgICB2YXIgYXV0aF90eXBlID0gdHlwZSA9PT0gJ2xvZ19pbicgPyAnbG9naW4nIDogJ2pvaW4nOwogICAgICAgICAgICAgICAgdmltZW8uTW9kYWwuY3JlYXRlKHsKICAgICAgICAgICAgICAgICAgICBzaXplOiAneHNtYWxsJywKICAgICAgICAgICAgICAgICAgICBjb250ZW50LAogICAgICAgICAgICAgICAgICAgIG9uX2Nsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tKb2luTG9naW5CUChhdXRoX3R5cGUsIGBkaXNtaXNzXyR7YXV0aF90eXBlfV9tb2RhbGAsICdkaXNtaXNzJywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGxldGVMb2dpbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZVVzZXJMb2dpbihyZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0cmFja0pvaW5Mb2dpbkJQKGF1dGhfdHlwZSwgYCR7YXV0aF90eXBlfV9tb2RhbF9pbXByZXNzaW9uYCwgJ2ltcHJlc3Npb24nLCBmYWxzZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEJ1dHRvbkNsaWNrKGV2ZW50KSB7CiAgICAgICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgIHdpbmRvdy52aW1lbwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLk1vZGFsCiAgICAgICAgICAgICAgICAmJiAhd2luZG93LnZpbWVvLmN1cl91c2VyCiAgICAgICAgICAgICl7CiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgaXNNb2JpbGUgPyB3aW5kb3cubG9jYXRpb24uaHJlZj0iL3VwbG9hZCIgOiBoYW5kbGVKb2luTG9naW5GMlAoZXZlbnQsICdqb2luJywgZmFsc2UsICcvdXBsb2FkJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCjxzY3JpcHQ+CgogICAgdmFyIGlzQnJvd3NlcklFID0gKGZ1bmN0aW9uKHdpbmRvdykgewogICAgICAgIHJldHVybiAvKE1TSUV8VHJpZGVudHxFZGdlKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7CiAgICB9KSh3aW5kb3cpOwoKICAgIC8vIElFIGZpeCBmb3IgRHJvcGRvd24gbWVudQogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkcm9wRG93blNlbGVjdG9yID0gJy50b3BuYXZfZGVza3RvcF9tZW51X2l0ZW1zX2Ryb3Bkb3duJzsKICAgICAgICB2YXIgZHJvcERvd25FbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGRyb3BEb3duU2VsZWN0b3IpOwogICAgICAgIGlmKGlzQnJvd3NlcklFKSB7CiAgICAgICAgICAgIGRyb3BEb3duRWxlLmNsYXNzTGlzdC5hZGQoJ2NvbHVtbl9mbGV4Jyk7CiAgICAgICAgfQogICAgfSkoKTsKCiAgICBmdW5jdGlvbiBoYW5kbGVOZXdWaWRlb0NsaWNrKCkgewogICAgICAgIGlmICh3aW5kb3cudmltZW8gJiYgd2luZG93LnZpbWVvLmN1cl91c2VyKSB7CiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT09ICcvdXBsb2FkJykgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3VwbG9hZCc7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoYW5kbGVKb2luTG9naW5GMlAodW5kZWZpbmVkLCAnam9pbicsIHRydWUsICcvJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUNyZWF0ZVZpZGVvQ2xpY2soZSwgaXNSZWNvcmRTY3JlZW4pIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmICF3aW5kb3cudmltZW8uY3VyX3VzZXIgJiYgIWlzUmVjb3JkU2NyZWVuKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGhhbmRsZUpvaW5Mb2dpbkYyUChlLCAnam9pbicsIHRydWUsIGVuY29kZVVSSUNvbXBvbmVudCgiL3dlbGNvbWUtc3VydmV5P3R5cGU9c2VnbWVudCZ2aW1lb0hyZWY9IiArIGVuY29kZVVSSUNvbXBvbmVudCgnL2NyZWF0ZS90ZW1wbGF0ZXMnKSkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0cmFja05ld1ZpZGVvRHJvcGRvd25JbXByZXNzaW9uKHJlY29yZE9wdGlvbikgewogICAgICAgIGlmICh3aW5kb3cuX19mYSkgewogICAgICAgICAgICB3aW5kb3cuX19mYS5wdXNoKFsndHJhY2tFdmVudCcsIHsKICAgICAgICAgICAgICAgIHR5cGU6ICdpbXByZXNzaW9uJywKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgY29tcG9uZW50OiAnbmV3X3ZpZGVvJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICB0eXBlOiAnaW1wcmVzc2lvbicsCiAgICAgICAgICAgICAgICBjb250YWluZXI6ICd0b3BfbmF2JywKICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ2dvX2xpdmUnLAogICAgICAgICAgICAgICAga2V5d29yZDogJ3Nob3duX293bmVyJywKICAgICAgICAgICAgfV0pOwoKICAgICAgICAgICAgaWYgKHJlY29yZE9wdGlvbikgewogICAgICAgICAgICAgICAgd2luZG93Ll9fZmEucHVzaChbJ3RyYWNrRXZlbnQnLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltcHJlc3Npb24nLAogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogJ3RvcF9uYXYnLAogICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogJ3JlY29yZCcsCiAgICAgICAgICAgICAgICAgICAga2V5d29yZDogcmVjb3JkT3B0aW9uLAogICAgICAgICAgICAgICAgfV0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGhhbmRsZUxpdmVCdXR0b25DbGljayhldmVudCkgewogICAgICAgIC8vIE9wZW5zIHRoZSBhdXRoIG1vZGFsIGZvciBsb2dnZWQgb3V0IHVzZXJzCiAgICAgICAgaWYgKAogICAgICAgICAgICB3aW5kb3cudmltZW8KICAgICAgICAgICAgJiYgd2luZG93LnZpbWVvLmNvbmZpZwogICAgICAgICAgICAmJiB3aW5kb3cudmltZW8uTW9kYWwKICAgICAgICAgICAgJiYgIXdpbmRvdy52aW1lby5jdXJfdXNlcgogICAgICAgICAgICAmJiAhaXNNb2JpbGUKICAgICAgICApewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCBsaXZlSHJlZiA9ICcvZmVhdHVyZXMvbGl2ZXN0cmVhbWluZy8nOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgc2l6ZTogJ3hzbWFsbCcsCiAgICAgICAgICAgICAgICBjb250ZW50OiAnL2pvaW4/bW9kYWw9bmV3JnJlZGlyZWN0PScgKyBlbmNvZGVVUklDb21wb25lbnQobGl2ZUhyZWYpCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBoYW5kbGVDcmVhdGVFdmVudCgpIHsKICAgICAgICBpZiAod2luZG93LnZpbWVvICYmIHdpbmRvdy52aW1lby5jb25maWcgJiYgd2luZG93LnZpbWVvLk1vZGFsICYmIHdpbmRvdy52aW1lby5jdXJfdXNlcikgewogICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2aW1lby5Nb2RhbC5jcmVhdGUoewogICAgICAgICAgICAgICAgY29udGVudDogJy9ldmVudC9jcmVhdGUnLAogICAgICAgICAgICAgICAgY29udGVudF9oYW5kbGVyOiB3aW5kb3cudmltZW8uTW9kYWwuSWZyYW1lQ29udGVudEhhbmRsZXIsCiAgICAgICAgICAgICAgICBzaXplOiAnZXZlbnRfY3JlYXRpb24nLAogICAgICAgICAgICAgICAgdGl0bGU6ICdDcmVhdGUgRXZlbnQnLAogICAgICAgICAgICAgICAgY29udGVudF9mbHVzaDogdHJ1ZSwKICAgICAgICAgICAgICAgIGJvZHlfbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIGhpZGVfaGVhZGVyOiB0cnVlLAogICAgICAgICAgICAgICAgY2xvc2Vfb25fY2xpY2tfb3V0c2lkZTogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KPC9zY3JpcHQ+CgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgYXJyb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjb3JkX2FuaW1hdGlvbl93cmFwcGVyJyk7CiAgICAgICAgdmFyIG5ld1ZpZGVvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlY29yZF90aXBfd3JhcHBlcicpOwoKICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LmFkZCgnbm9fYW5pbWF0aW9uJyk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNIb3ZlcmVkID0gZmFsc2U7CgogICAgICAgIGlmIChuZXdWaWRlb0J0biAmJiBmYWxzZSkgewogICAgICAgICAgICBuZXdWaWRlb0J0bi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlcmVkKSByZXR1cm47CgogICAgICAgICAgICAgICAgaXNIb3ZlcmVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QucmVtb3ZlKCdub19hbmltYXRpb24nKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzdG9yZV9yZWNvcmRfdGlwX3NldHRpbmdzKDEpOwoKICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gc3RvcmVfcmVjb3JkX3RpcF9zZXR0aW5ncyh2YWx1ZSkgewogICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgICAgICB4aHIub3BlbignUE9TVCcsICcvc2V0dGluZ3MvbmF2X3JlY29yZGVyX3RpcCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpOwogICAgICAgICAgICB4aHIuc2VuZCgncmVjb3JkX3NjcmVlbl90aXBfc3RhdGU9JyArIHZhbHVlICsgJyZ0b2tlbj0nICsgdmltZW8ueHNyZnQpOwoKICAgICAgICAgICAgLy8gTm90aGluZyB0byBoYW5kbGUuIFdlIGhvcGUgZm9yIHRoZSBiZXN0IGluIHRoaXMgY2FzZQogICAgICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgfTsKICAgIDwvc2NyaXB0PgoKCiAgICAKPCEtLSAvKiBSZXNwb25zaXZlIFRvcCBOYXYgKEV4cGxvcmUsIExPSFAsIFdhdGNoLCB0YykgKi0tPgo8bmF2IGlkPSJ0b3BuYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X21vYmlsZSAgICBuYXZfYmFyLS1saSIgcm9sZT0iYmFubmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBkYXRhLWFjdGlvbj0ibWVudS5vcGVuIiBjbGFzcz0ibmF2YmFyX2hhbWJ1cmdlciBuYXZfYmFyX2ljb24gdG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiPgogICAgICAgICAgICAgICAgPHRpdGxlPk1lbnU8L3RpdGxlPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9IlJlY3RhbmdsZS00IiBkPSJNNyw4SDI1YTEsMSwwLDAsMSwxLDFoMGExLDEsMCwwLDEtMSwxSDdBMSwxLDAsMCwxLDYsOUg2QTEsMSwwLDAsMSw3LDhaIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcsMTVIMjVhMSwxLDAsMCwxLDEsMWgwYTEsMSwwLDAsMS0xLDFIN2ExLDEsMCwwLDEtMS0xSDZBMSwxLDAsMCwxLDcsMTVaIi8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNywyMkgyNWExLDEsMCwwLDEsMSwxaDBhMSwxLDAsMCwxLTEsMUg3YTEsMSwwLDAsMS0xLTFINkExLDEsMCwwLDEsNywyMloiLz4KICAgICAgICAgICAgPC9zdmc+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfYWN0aW9uX2J1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy92aW1lby5jb20vc2VhcmNoIiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX3JpZ2h0IHRvcG5hdl9tb2JpbGVfaGVhZGVyX3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmF2X2Jhcl9zZWFyY2hfaWNvbiBuYXZfYmFyX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYXJ0X3RvcF9uYXZfbW9iaWxlIiBjbGFzcz0idG9wbmF2X2NhcnRfYnV0dG9uIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gVmltZW8gTG9nbyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2X2Jhcl90aXRsZSBqcy1uYXZfYmFyX3RpdGxlIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tIiBndG0tZGF0YS1jbGljaz0ibW9iaWxlX25hdl9ob21lX2xvZ29fY2xpY2siPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0NDEgMTI0LjY4MiIgd2lkdGg9Ijg2cHgiIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMC40ODEsMjcuMzI2YzUuNDYyLDAsMTAuMTg4LTEuOTEsMTQuMTc0LTUuNzI4YzMuNTQ3LTMuMzc5LDUuMzkyLTYuOTA2LDUuNTQtMTAuNTgzYzAuMTQzLTIuNDkyLTAuODE1LTQuOTUxLTIuODgtNy4zNzhDMTM1LjI0NCwxLjIxNywxMzIuNjYyLDAsMTI5LjU2MiwwYy01LjMyLDAtMTAuMTU1LDEuNzY3LTE0LjUxMSw1LjI4OGMtNC4zNTYsMy41MjctNi42MDgsNy4yMDQtNi43NSwxMS4wMjJDMTA4LjAwMiwyMy42NTYsMTEyLjA2NywyNy4zMjYsMTIwLjQ4MSwyNy4zMjZ6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRvcG5hdl9tb2JpbGVfbWVudSBsb2hwX3RvcG5hdl9tb2JpbGVfbWVudSBqcy10b3BuYXZfbW9iaWxlX21lbnVfbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ocC1mbGV4LXdyYXBwZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wbmF2X21vYmlsZV9iYXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGRhdGEtZ3RtLWNsaWNrPSJtb2JpbGVfbmF2X21lbnVfY2xvc2VfY2xpY2siIGNsYXNzPSJtZW51X2Nsb3NlIHB1bGxfbGVmdCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9jbG9zZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0iMjIiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxOCAxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIwLjEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xIDE2LjIxOEwxNi42MjcuNTlsLjc3OC43NzhMMS43NzggMTYuOTk1eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEuNzc4LjU5bDE1LjYyNyAxNS42MjgtLjc3OC43NzdMMSAxLjM2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxvaHBfbG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDQxIDEyNC42ODIiIHdpZHRoPSI4NnB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMjdweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNMTIwLjQ4MSwyNy4zMjZjNS40NjIsMCwxMC4xODgtMS45MSwxNC4xNzQtNS43MjhjMy41NDctMy4zNzksNS4zOTItNi45MDYsNS41NC0xMC41ODNjMC4xNDMtMi40OTItMC44MTUtNC45NTEtMi44OC03LjM3OEMxMzUuMjQ0LDEuMjE3LDEzMi42NjIsMCwxMjkuNTYyLDBjLTUuMzIsMC0xMC4xNTUsMS43NjctMTQuNTExLDUuMjg4Yy00LjM1NiwzLjUyNy02LjYwOCw3LjIwNC02Ljc1LDExLjAyMkMxMDguMDAyLDIzLjY1NiwxMTIuMDY3LDI3LjMyNiwxMjAuNDgxLDI3LjMyNnoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPSJNNDM0LjA3OSw1MC4xNmMtNS4zMTktNi45MjUtMTMuMTQ1LTEwLjM5NS0yMy40NzUtMTAuMzk1Yy0xNi4wOTcsMC0yOS40NTUsNS44OTYtNDAuMDgzLDE3LjY4OGMtOS45MDIsMTAuNjE0LTE0LjQ3OCwyMi4yNjUtMTMuNzMzLDM0Ljk0NGMwLjA0OSwwLjkzMiwwLjEzMiwxLjg0LDAuMjI5LDIuNzM4Yy0wLjU1NCwwLjI0MS0xLjA5MywwLjQ4My0xLjY2MiwwLjcyNGMtMTIuNTU2LDUuNDExLTI0LjE0Nyw4LjExLTM0Ljc3NSw4LjExYy01LjMyLDAtOS4zMDctMS44MzktMTEuOTYtNS41MjFjMTQuMzE2LTIuMzU1LDI2LjIwNi03Ljg3NiwzNS42NjItMTYuNTY4YzguODU0LTcuOTU1LDEyLjk4OS0xNS42ODksMTIuNC0yMy4xOTdjLTAuODg3LTExLjc4LTguNTYyLTE3LjY3Ni0yMy4wMzQtMTcuNjc2Yy0xNS42NSwwLTI5LjIzNSw1LjkwOS00MC43NSwxNy43MTRjLTEwLjQ4NCwxMC43ODMtMTUuODA1LDIyLjE0OC0xNS45NDcsMzQuMTAzYy0wLjA0LDIuMDA1LDAuMDY2LDMuOTMyLDAuMyw1Ljc4OWMtMi40NzcsMS42MzItNC4zNTIsMi40NTYtNS42MTMsMi40NTZjLTIuODEsMC00LjU3Ni0wLjU4Mi01LjMxNC0xLjc2Yy0wLjczNy0xLjE3OC0xLjAzNS0zLjMwOC0wLjg4Ny02LjQwMWMwLTEuMTc4LDAuOTE5LTUuNjk1LDIuNzcxLTEzLjU2NWMxLjg0NS03Ljg3LDIuODQxLTEzLjg2NCwyLjk5LTE3Ljk4N2MwLjI5MS02LjAyNS0wLjg5NC0xMC42Ni0zLjU0Ny0xMy44OTZjLTMuMTAxLTMuOTc0LTguMTk0LTUuNjYzLTE1LjI4MS01LjA3NGMtNS45MDIsMC40NDctMTEuNTkyLDIuNjYtMTcuMDU0LDYuNjQ3Yy0zLjI0OSwyLjM2My02LjU2OSw1LjUzNC05Ljk2MSw5LjUyMWMtMS4xODUsMS4wMzYtMi4yOTEsMi0zLjMyNywyLjg4YzAuMTQzLTYuMDUxLTEuMDM2LTEwLjcwNS0zLjU0LTEzLjk1NGMtMy4xMDctMy45ODctOC4yNzItNS42ODMtMTUuNTA4LTUuMDk0Yy04LjQxNSwwLjczOC0xNi4wMiw0LjA2NS0yMi44MDksOS45NjdjLTIuOTU4LDIuNTExLTUuNTQsNS40NjktNy43NTMsOC44NjFjMC4yOTEtMS4zMjcsMC40NC0yLjczMSwwLjQ0LTQuMjA3YzAtNC41NzYtMS4xODUtOC42MDItMy41NDctMTIuMDcxcy01LjQ2Mi01LjA1NS05LjMwMS00Ljc1N2MtMi4yMTMsMC4xNDktNi40MiwzLjEwMS0xMi42MjEsOC44NTRjLTguNTY5LDcuOTc0LTEzLjIxNiwxMi4yNTktMTMuOTU0LDEyLjg0MWw1LjMxMyw1Ljk4YzQuMTM2LTIuOTg0LDYuNjQ3LTQuNDc5LDcuNTM0LTQuNDc5YzEuNjE4LDAsMi4yODUsMS4zMjcsMS45OTQsMy45NzVjLTAuMTQzLDMuODMxLTAuODIyLDkuMTY0LTIuMDM5LDE2LjAxMmMtMC43NTQsNC4yNDMtMS4yOTgsNy45MDQtMS42MzgsMTAuOTg4Yy0wLjA2NiwwLjA1NS0wLjEyOSwwLjEwOS0wLjE5NiwwLjE2NGMtNS4zMiw0LjM3NS05LjAwOSw2LjU1Ni0xMS4wNzQsNi41NTZjLTQuNzI1LDAtNy4wMTYtMy4xNTgtNi44NjctOS40ODhjMi4yMTMtMTMuODI0LDQuMjg1LTI1LjIyMiw2LjIwNy0zNC4xOTljMC41ODMtNS4yOTQtMC4yNjYtOS41OTItMi41NS0xMi45MDZjLTIuMjkxLTMuMzE0LTUuODctNC43NDQtMTAuNzM3LTQuMzA0Yy0zLjEwNywwLjI5OC03LjgzMiwzLjI0OS0xNC4xODEsOC44NmMtMi4yMDUsMi00LjQxLDMuOTk2LTYuNjE1LDUuOTkzYy0wLjQzNy0xMC40NDctNS4yMDQtMTUuODIyLTE0LjMyOS0xNi4wOWMtMTMuNjY5LTAuNDQtMjIuOTMxLDcuMjc1LTI3Ljc3OSwyMy4xNThjMi41MDQtMS4wNzQsNC45MzgtMS42MTgsNy4zMDEtMS42MThjNS4wMTYsMCw3LjIyOSwyLjgyMiw2LjY0LDguNDUzYy0wLjI5NywzLjQxMS0yLjUxMSw4LjM3NS02LjY0LDE0Ljg5OWMtNC4xMzYsNi41MjMtNy4yMzYsOS43ODYtOS4zMDEsOS43ODZjLTIuNjYsMC01LjA5NC01LjAyMy03LjMwNy0xNS4wODFjLTAuNzQ1LTIuOTUxLTIuMDcxLTEwLjQ5MS0zLjk4Ny0yMi42MTRjLTEuNzczLTExLjIzNi02LjQ5OS0xNi40ODUtMTQuMTc0LTE1Ljc0N2MtMy4yNDksMC4yOTgtOC4xMjMsMy4yNDktMTQuNjE0LDguODZDOS42NjksNTMuMzE4LDQuODY3LDU3LjU5NywwLDYxLjg3NWw0LjY0MSw1Ljk4YzQuNDItMy4wOTQsNy4wMDMtNC42NDcsNy43NDEtNC42NDdjMy4zODUsMCw2LjU1LDUuMzEzLDkuNTAxLDE1LjkyOWMyLjY1Myw5LjczMyw1LjMwNywxOS40NjgsNy45NjEsMjkuMjAyYzMuOTc0LDEwLjYyMSw4Ljg0MSwxNS45MjksMTQuNTg4LDE1LjkyOWM5LjI4MSwwLDIwLjYyNy04LjcxOSwzNC4wMzgtMjYuMTU0Qzg3Ljg5Miw4NS45ODcsOTMuOTksNzUuNzQsOTYuOCw2Ny4zNTRjMy43Mi0yLjc0OCw2LjAxOC00LjE0Niw2Ljg1My00LjE0NmMyLjY1MywwLDMuOTg3LDEuOTIyLDMuOTg3LDUuNzU0YzAsMC43MzgtMS40NDMsNi4yLTQuMzI0LDE2LjM4MWMtMi44OCwxMC4xODItNC4zOTUsMTcuNzA5LTQuNTM3LDIyLjU3NWMtMC4xNDksNC43MjYsMC45OTcsOC41NTcsMy40MywxMS41MDhjMi40MzQsMi45NTIsNS45NDEsNC40MjgsMTAuNTI0LDQuNDI4YzkuODksMCwxOS43NzktNC4yNzgsMjkuNjc1LTEyLjgzNWMwLjg4MS0wLjc3MiwxLjczOC0xLjU1NywyLjU3My0yLjM1MmMwLjc4MywzLjMxMiwyLjEyNCw2LjA0NSw0LjA3LDguMTVjNC4yNTksNC41NjksMTEuNDU2LDYuNzA2LDIxLjU5Miw2LjQwOGMtMS4zNTMtMy4yNDktMS44ODQtOS4wMDMtMS41ODYtMTcuMjc0YzAuNDQtOS4xNTIsMi44MDktMTcuOTQxLDcuMDk0LTI2LjM1NXM4LjI3OC0xMi42MjcsMTEuOTgtMTIuNjI3YzQuMjg1LDAsNi4yODUsMi43MzEsNS45ODcsOC4xOTNjLTAuMTQ5LDMuNjk2LTAuODc0LDcuOTAzLTIuMTc1LDEyLjYyOGMtMS4zMDcsNC43MjUtMi4wMzIsOS40NDktMi4xNzQsMTQuMTc0Yy0wLjI5OCw3LjUzNCwxLjM5MiwxMi45MTksNS4wODEsMTYuMTY4YzQuMTE2LDMuNjg5LDExLjMzNCw1LjM5MiwyMS42MzgsNS4wOTRjLTEuNTQxLTMuMzkyLTIuMTYyLTguMjY2LTEuODY0LTE0LjYyMWMwLjQ0LTkuMDAzLDMuNDgyLTE4LjMwNCw5LjExMy0yNy45MDJjNS4zMzMtOS4xNTEsOS45MjItMTMuNzMzLDEzLjc3Mi0xMy43MzNjMy41NiwwLDUuMjYzLDIuODA5LDUuMTEzLDguNDE0Yy0wLjE0OCwzLjY4OC0xLjA3NCw4Ljg1NC0yLjc3MSwxNS40OTRjLTEuNjk1LDYuNjQxLTIuNjIxLDEyLjMxNi0yLjc2NCwxNy4wNDFjLTAuMjk3LDEwLjYyOCw0LjM1LDE1LjkzNiwxMy45NTUsMTUuOTM2YzkuODg5LDAsMTkuNzc5LTQuMjc4LDI5LjY3NS0xMi44MzVjMC4xNjQtMC4xNDQsMC4zMTYtMC4yOTMsMC40NzktMC40MzhjMC4zNCwwLjU4NiwwLjY4OCwxLjE2OCwxLjA2OCwxLjczMmM1LjE2NSw3Ljk2NywxMy43MzQsMTEuOTU0LDI1LjY5NSwxMS45NTRjMTYuMDksMCwzMS45NjYtNC40OTIsNDcuNjE2LTEzLjQ4OGMxLjc1Ni0wLjk5LDMuNDIyLTEuOTc5LDUuMDE3LTIuOTdjMC45ODYsMS45OTEsMi4xMzgsMy44NjYsMy41MDIsNS41OTFjNi4wNTIsNy41MjEsMTQuOTEyLDExLjI4MSwyNi41NzUsMTEuMjgxYzE0LjAyNSwwLDI1Ljc2Ny00LjkzOCwzNS4yMTYtMTQuODE1YzkuNDQ5LTkuODc2LDE0LjQ2Ni0yMS41OTgsMTUuMDYxLTM1LjE2M0M0NDEuMzg3LDY0LjY4NCw0MzkuMTAyLDU2LjUwMyw0MzQuMDc5LDUwLjE2eiBNMzA1LjExOCw5MC4wMDNjLTAuMDg0LTEuOTA5LTAuMDg0LTIuODY3LDAtMi44NjdjMC4xNDMtNS41NzksMi41MDUtMTEuNDE3LDcuMDc0LTE3LjUxNHM5LjA2Mi05LjE0NiwxMy40ODgtOS4xNDZjMy4zOTIsMCw1LjAxLDEuOTg3LDQuODY3LDUuOTQ4Yy0wLjE0OSwyLjkzOC0yLjM2Miw2Ljc2NC02LjYzNCwxMS40NjJDMzE4LjYwNiw4My4zMjQsMzEyLjM0MSw4Ny4zNjIsMzA1LjExOCw5MC4wMDN6IE00MTUuOTE4LDczLjg2OGMtMC4yOTcsNy4xLTIuNDM0LDEzLjkwMi02LjQyLDIwLjQxM2MtNC43MjUsNy44NDUtMTAuNDE0LDExLjc2LTE3LjA1NSwxMS43NmMtMi45NTgsMC01LjI0OS0xLjYyNC02Ljg2Ny00Ljg4Yy0xLjQ3Ni0yLjgwOS0yLjE0Mi02LjA2NC0xLjk5My05Ljc2N2MwLjI5MS03LjU0LDIuNTA1LTE0LjY0LDYuNjQ3LTIxLjNjNC44NjYtOC4xMzYsMTEuMDY3LTEyLjIwNywxOC42MDEtMTIuMjA3YzIuMzU2LDAsNC4xNjgsMS42Nyw1LjQyNCw0Ljk5N1M0MTYuMDY3LDY5Ljg3NSw0MTUuOTE4LDczLjg2OHoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aW9uPSJtZW51LnNldHRpbmdzLm9wZW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0ibW9iaWxlX25hdl9zZXR0aW5nc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNldHRpbmdzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfc2V0dGluZ3MgcHVsbF9yaWdodCBqcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5ncyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTguODZweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjAgMCAxOC44NiAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTguODYgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iZ2Vhcl8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikljb25fMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMDAwMDAwLCA1LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xMF8xXyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9IkNvbWJpbmVkLVNoYXBlXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgZD0iTTEyLDQuNThsLTAuNTctMC4yN1YxLjk5YzAtMC41NC0wLjQ1LTAuOTktMS0wLjk5aC0yYy0wLjU1LDAtMSwwLjQ1LTEsMC45OXYyLjMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTDYuODYsNC41OGMtMC4yOSwwLjE0LTAuNTcsMC4zLTAuODQsMC40OEw1LjUsNS40MkwzLjQ5LDQuMjZDMy4wMiwzLjk5LDIuNDEsNC4xNiwyLjE0LDQuNjNsLTEsMS43NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwLjg2LDYuODQsMS4wMiw3LjQ2LDEuNDksNy43M0wzLjUsOC44OUwzLjQ1LDkuNTJDMy40NCw5LjY4LDMuNDMsOS44NCwzLjQzLDEwczAuMDEsMC4zMiwwLjAyLDAuNDhsMC4wNSwwLjYzbC0yLjAxLDEuMTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTAuNDcsMC4yNy0wLjYzLDAuODgtMC4zNiwxLjM2bDEsMS43NGMwLjI3LDAuNDgsMC44OSwwLjY0LDEuMzYsMC4zN2wyLjAxLTEuMTZsMC41MiwwLjM2YzAuMjcsMC4xOCwwLjU1LDAuMzUsMC44NCwwLjQ4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDAuNTcsMC4yN3YyLjMxYzAsMC41NCwwLjQ1LDAuOTksMSwwLjk5aDJjMC41NSwwLDEtMC40NSwxLTAuOTl2LTIuMzFMMTIsMTUuNDJjMC4yOS0wLjE0LDAuNTctMC4zLDAuODQtMC40OGwwLjUyLTAuMzYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsMi4wMSwxLjE2YzAuNDcsMC4yNywxLjA4LDAuMTEsMS4zNi0wLjM3bDEtMS43NGMwLjI3LTAuNDgsMC4xMS0xLjA5LTAuMzYtMS4zNmwtMi4wMS0xLjE2bDAuMDUtMC42MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLjAxLTAuMTYsMC4wMi0wLjMyLDAuMDItMC40OHMtMC4wMS0wLjMyLTAuMDItMC40OGwtMC4wNS0wLjYzbDIuMDEtMS4xNmMwLjQ3LTAuMjcsMC42My0wLjg4LDAuMzYtMS4zNmwtMS0xLjc0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0wLjI3LTAuNDgtMC44OS0wLjY0LTEuMzYtMC4zN2wtMi4wMSwxLjE2bC0wLjUyLTAuMzZDMTIuNTcsNC44OCwxMi4yOSw0LjcyLDEyLDQuNTh6Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsXzFfIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjFiMWIxO3N0cm9rZS13aWR0aDoyOyIgY3g9IjkuNDMiIGN5PSIxMCIgcj0iMiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnVfbGlzdCIgY2xhc3M9Im1lbnVfbGlzdF9sb2dnZWRfb3V0IG5vdC12aXNpYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpqb2lufHRhcmdldDovam9pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfam9pbl9jbGljayIgaWQ9ImpzLWpvaW4tbGluayIgaHJlZj0iL2pvaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSdtYWluX2l0ZW0nIGRhdGEtYnJlZXplLWlnbm9yZSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpsb2dpbnx0YXJnZXQ6L2xvZ19pbiIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfbG9naW5fY2xpY2siIGlkPSJqcy1sb2dpbi1saW5rIiBocmVmPSIvbG9nX2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9naW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bl9saXN0Ij4KICAgIDxidXR0b24gY2xhc3M9ImRyb3Bkb3duX3RvZ2dsZV9idXR0b24ganMtdG9wbmF2X21vYmlsZV9tZW51X3RvZ2dsZSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im1haW5faXRlbSI+U29sdXRpb25zPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wZG93bl9hcnJvdyBqcy10b3BfbmF2X3RvZ2dsZV9hcnJvdyI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExLjQ1LjkxNEw1LjkxNCA2LjQ1IDQuNDczIDUuMDA4bC0yLjAzLTIuMDNMLjM3OC45MTQiIHN0cm9rZT0iIzFBMkUzQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgICAgICAgICAgZmlsbD0ibm9uZSIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0idG9nZ2xlX2xpc3QganMtdG9wX25hdl90b2dnbGVfbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDp2aWRlb19tYXJrZXRpbmciIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3ZpZGVvX21hcmtldGluZyIgY2xhc3M9InNvbHV0aW9uc19tZW51IiBocmVmPSIvc29sdXRpb25zL21hcmtldGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1hcmtldGluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj5Qb3dlciB5b3VyIG1hcmtldGluZyBzdHJhdGVneSB3aXRoIHBlcmZlY3RseSBicmFuZGVkIHZpZGVvcyB0byBkcml2ZSBiZXR0ZXIgUk9JLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmV2ZW50X21hcmtldGluZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfZXZlbnRfbWFya2V0aW5nIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvdmlydHVhbC1ldmVudHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCBtYXJrZXRpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+SG9zdCB2aXJ0dWFsIGV2ZW50cyBhbmQgd2ViaW5hcnMgdG8gaW5jcmVhc2UgZW5nYWdlbWVudCBhbmQgZ2VuZXJhdGUgbGVhZHMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6ZW1wbG95ZWVfY29tbXVuaWNhdGlvbnMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X2VtcGxveWVlX2NvbW11bmljYXRpb25zIiBjbGFzcz0ic29sdXRpb25zX21lbnUiIGhyZWY9Ii9zb2x1dGlvbnMvY29tbXVuaWNhdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbXBsb3llZSBjb21tdW5pY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfZGVzY3JpcHRpb24iPkluc3BpcmUgZW1wbG95ZWVzIHdpdGggY29tcGVsbGluZyBsaXZlIGFuZCBvbi1kZW1hbmQgdmlkZW8gZXhwZXJpZW5jZXMuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6c29sdXRpb25zfGtleXdvcmQ6dmlkZW9fbW9uZXRpemF0aW9uIiBkYXRhLWd0bS1jbGljaz0idG9wX25hdl92aWRlb19tb25ldGl6YXRpb24iIGNsYXNzPSJzb2x1dGlvbnNfbWVudSIgaHJlZj0iL3NvbHV0aW9ucy92aWRlby1tb25ldGl6YXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBtb25ldGl6YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+QnVpbGQgYSBzaXRlIGFuZCBnZW5lcmF0ZSBpbmNvbWUgZnJvbSBwdXJjaGFzZXMsIHN1YnNjcmlwdGlvbnMsIGFuZCBjb3Vyc2VzLjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5GZWF0dXJlczwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkNyZWF0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvfGNvcHk6SW50ZXJhY3RpdmUgdmlkZW98ZmVhdHVyZTpjcmVhdGVfaW50ZXJhY3RpdmV8dGFyZ2V0X3BhdGg6L2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIiBocmVmPSIvZmVhdHVyZXMvaW50ZXJhY3RpdmUtdmlkZW8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgdmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6bGl2ZV9zdHJlYW1pbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9saXZlc3RyZWFtaW5nP21rYz0zNjhpcF9mY19saXZlfGNvcHk6TGl2ZSBzdHJlYW18ZmVhdHVyZTpjcmVhdGVfbGl2ZXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvbGl2ZXN0cmVhbWluZz9ta2M9MzY4aXBfZmNfbGl2ZSIgaHJlZj0iL2ZlYXR1cmVzL2xpdmVzdHJlYW1pbmc/bWtjPTM2OGlwX2ZjX2xpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGl2ZSBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c2NyZWVuX3JlY29yZGVyIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyfGNvcHk6U2NyZWVuIHJlY29yZGVyfGZlYXR1cmU6Y3JlYXRlX3JlY29yZHx0YXJnZXRfcGF0aDovZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIiBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiByZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpjcmVhdGUiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jcmVhdGV8Y29weTpDcmVhdGUgdmlkZW8gbWFrZXJ8ZmVhdHVyZTpjcmVhdGVfdmltZW9fY3JlYXRlfHRhcmdldF9wYXRoOi9jcmVhdGUiIGhyZWY9Ii9jcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIHZpZGVvIG1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2VkaXRvciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L3ZpZGVvLWVkaXRvcnxjb3B5Ok9ubGluZSB2aWRlbyBlZGl0b3J8ZmVhdHVyZTpjcmVhdGVfZWRpdG9yfHRhcmdldF9wYXRoOi92aWRlby1lZGl0b3IiIGhyZWY9Ii92aWRlby1lZGl0b3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIHZpZGVvIGVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDpmb3JfaGlyZSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Zvci1oaXJlfGNvcHk6SGlyZSBhIHZpZGVvIHByb3xmZWF0dXJlOmNyZWF0ZV9oaXJlfHRhcmdldF9wYXRoOi9mb3ItaGlyZSIgaHJlZj0iL2Zvci1oaXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpcmUgYSB2aWRlbyBwcm8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2hlYWRlciI+TWFuYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX2xpYnJhcnkiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bHxjb3B5OlZpZGVvIGxpYnJhcnl8ZmVhdHVyZTptYW5hZ2VfbGlicmFyeXx0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tbGlicmFyeT9ta2M9MzY4aXBfZm1fdmwiIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1saWJyYXJ5P21rYz0zNjhpcF9mbV92bCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBsaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnZpZGVvX3BsYXllciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9mZWF0dXJlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlfGNvcHk6QWQtZnJlZSBwbGF5ZXJ8ZmVhdHVyZTptYW5hZ2VfYWRkX2ZyZWVfcGxheWVyfHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wbGF5ZXI/bWtjPTM2OGlwX2ZtX2FkZnJlZSIgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllcj9ta2M9MzY4aXBfZm1fYWRmcmVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkLWZyZWUgcGxheWVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOmhvc3RpbmciIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZ3xjb3B5OlZpZGVvIGhvc3Rpbmd8ZmVhdHVyZTptYW5hZ2VfdmlkZW9faG9zdGluZ3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvb25saW5lLXZpZGVvLWhvc3Rpbmc/bWtjPTM2OGlwX2ZtX2hvc3RpbmciIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZz9ta2M9MzY4aXBfZm1faG9zdGluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBob3N0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cHJvZHVjdHxrZXl3b3JkOnByaXZhY3kiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5fGNvcHk6UHJpdmFjeXxmZWF0dXJlOm1hbmFnZV9wcml2YWN5fHRhcmdldF9wYXRoOi9mZWF0dXJlcy92aWRlby1wcml2YWN5P21rYz0zNjhpcF9mbV9wcml2YWN5IiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeT9ta2M9MzY4aXBfZm1fcHJpdmFjeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPkdyb3c8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6c21hbGxfYnVzaW5lc3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zfGNvcHk6U21hbGwgYnVzaW5lc3N8ZmVhdHVyZTpncm93X3NtYWxsX2J1c2luZXNzfHRhcmdldF9wYXRoOi9zb2x1dGlvbnMvc21hbGwtYnVzaW5lc3Mtc29sdXRpb25zIiBocmVmPSIvc29sdXRpb25zL3NtYWxsLWJ1c2luZXNzLXNvbHV0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWFsbCBidXNpbmVzcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDplbnRlcnByaXNlIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X2ZlYXR1cmVzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovZW50ZXJwcmlzZT9ta2M9MzY4LW1lbnUtZ3Jvd3xjb3B5OkVudGVycHJpc2V8ZmVhdHVyZTpncm93X2VudGVycHJpc2V8dGFyZ2V0X3BhdGg6L2VudGVycHJpc2U/bWtjPTM2OC1tZW51LWdyb3ciIGhyZWY9Ii9lbnRlcnByaXNlP21rYz0zNjgtbWVudS1ncm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcm9kdWN0fGtleXdvcmQ6d2ViaW5hcnMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy93ZWJpbmFyfGNvcHk6V2ViaW5hcnN8ZmVhdHVyZTpncm93X3dlYmluYXJzfHRhcmdldF9wYXRoOi9mZWF0dXJlcy93ZWJpbmFyIiBocmVmPSIvZmVhdHVyZXMvd2ViaW5hciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFycyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDphbmFseXRpY3MiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9mZWF0dXJlcy92aWRlby1hbmFseXRpY3M/bWtjPTM2OGlwX2ZnX2FuYWx5emV8Y29weTpWaWRlbyBhbmFseXRpY3N8ZmVhdHVyZTpncm93X2FuYWx5dGljc3x0YXJnZXRfcGF0aDovZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIiBocmVmPSIvZmVhdHVyZXMvdmlkZW8tYW5hbHl0aWNzP21rYz0zNjhpcF9mZ19hbmFseXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIGFuYWx5dGljcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnByb2R1Y3R8a2V5d29yZDptb25ldGl6YXRpb24iIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfZmVhdHVyZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vdHQ/bWtjPWVudHByc2J8Y29weTpWaWRlbyBtb25ldGl6YXRpb258ZmVhdHVyZTpncm93X290dHx0YXJnZXRfcGF0aDovb3R0P21rYz1lbnRwcnNiIiBocmVmPSIvb3R0P21rYz1lbnRwcnNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIG1vbmV0aXphdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5SZXNvdXJjZXM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3Bkb3duX2Fycm93IGpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Ij4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEuNDUuOTE0TDUuOTE0IDYuNDUgNC40NzMgNS4wMDhsLTIuMDMtMi4wM0wuMzc4LjkxNCIgc3Ryb2tlPSIjMUEyRTNBIiBzdHJva2Utd2lkdGg9IjEuMiIKICAgICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiAvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L3NwYW4+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ0b2dnbGVfbGlzdCBqcy10b3BfbmF2X3RvZ2dsZV9saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5MZWFybjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50Omluc3BpcmF0aW9ufGtleXdvcmQ6YmxvZyIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fYmxvZyIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9ibG9nfGNvcHk6VmltZW8gYmxvZ3xmZWF0dXJlOmxlYXJuX2Jsb2d8dGFyZ2V0X3BhdGg6L2Jsb2ciIGhyZWY9Ii9ibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDppbnNwaXJhdGlvbnxrZXl3b3JkOnZpZGVvX3NjaG9vbCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfaW5zcGlyYXRpb25fdmlkZW9fc2Nob29sIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sfGNvcHk6VmlkZW8gU2Nob29sfGZlYXR1cmU6bGVhcm5fdmlkZW9fc2Nob29sfHRhcmdldF9wYXRoOi9ibG9nL2NhdGVnb3J5L3ZpZGVvLXNjaG9vbCIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvdmlkZW8tc2Nob29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFNjaG9vbCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19sZWFybnxrZXl3b3JkOmN1c3RvbWVyX3N0b3JpZXMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmxvZy9jYXRlZ29yeS9jYXNlLXN0dWR5fGNvcHk6Q3VzdG9tZXIgc3Rvcmllc3xmZWF0dXJlOmxlYXJuX2N1c3RvbWVyX3N0b3JpZXN8dGFyZ2V0X3BhdGg6L2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSIgaHJlZj0iL2Jsb2cvY2F0ZWdvcnkvY2FzZS1zdHVkeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lciBzdG9yaWVzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2xlYXJufGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6aHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tfGNvcHk6SW52ZXN0b3IgUmVsYXRpb25zfGZlYXR1cmU6bGVhcm5faW52ZXN0b3JfcmVsYXRpb25zfHRhcmdldF9wYXRoOmh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIgaHJlZj0iaHR0cHM6Ly9pbnZlc3RvcnMudmltZW8uY29tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj5Db25uZWN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpkZXZlbG9wZXJfdG9vbHMiIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfcmVzb3VyY2VzfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDpodHRwczovL2RldmVsb3Blci52aW1lby5jb20vfGNvcHk6RGV2ZWxvcGVyIHRvb2xzfGZlYXR1cmU6Y29ubmVjdF9kZXZlbG9wZXJfdG9vbHN8dGFyZ2V0X3BhdGg6aHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyIgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXIgdG9vbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpyZXNvdXJjZXNfY29ubmVjdHxrZXl3b3JkOnBhcnRuZXJfcHJvZ3JhbSIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9wYXJ0bmVyc3xjb3B5OlBhcnRuZXIgcHJvZ3JhbXxmZWF0dXJlOmNvbm5lY3RfcGFydG5lcl9wcm9ncmFtfHRhcmdldF9wYXRoOi9wYXJ0bmVycyIgaHJlZj0iL3BhcnRuZXJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRuZXIgcHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OnJlc291cmNlc19jb25uZWN0fGtleXdvcmQ6Y3JlYXRpdmVfY29tbXVuaXR5IiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3Jlc291cmNlc3xuYW1lOnNlbGVjdF9nbG9iYWxfbmF2X29wdGlvbnx0YXJnZXQ6L2V4cGVydHN8Y29weTpDcmVhdGl2ZSBjb21tdW5pdHl8ZmVhdHVyZTpjb25uZWN0X2NyZWF0aXZlX2NvbW11bml0eXx0YXJnZXRfcGF0aDovZXhwZXJ0cyIgaHJlZj0iL2V4cGVydHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRpdmUgY29tbXVuaXR5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6cmVzb3VyY2VzX2Nvbm5lY3R8a2V5d29yZDpoZWxwX2NlbnRlciIgZGF0YS1icC1jbGljaz0ibG9jYXRpb246Z2xvYmFsX25hdl9yZXNvdXJjZXN8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Omh0dHBzOi8vaGVscC52aW1lby5jb20vfGNvcHk6SGVscCBjZW50ZXJ8ZmVhdHVyZTpjb25uZWN0X2hlbHBfY2VudGVyfHRhcmdldF9wYXRoOmh0dHBzOi8vaGVscC52aW1lby5jb20vIiBocmVmPSJodHRwczovL2hlbHAudmltZW8uY29tLyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIGNlbnRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duX2xpc3QiPgogICAgPGJ1dHRvbiBjbGFzcz0iZHJvcGRvd25fdG9nZ2xlX2J1dHRvbiBqcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWFpbl9pdGVtIj5XYXRjaDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcGRvd25fYXJyb3cganMtdG9wX25hdl90b2dnbGVfYXJyb3ciPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSI4Ij4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMS40NS45MTRMNS45MTQgNi40NSA0LjQ3MyA1LjAwOGwtMi4wMy0yLjAzTC4zNzguOTE0IiBzdHJva2U9IiMxQTJFM0EiIHN0cm9rZS13aWR0aD0iMS4yIgogICAgICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvc3Bhbj4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InRvZ2dsZV9saXN0IGpzLXRvcF9uYXZfdG9nZ2xlX2xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSdjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6d2F0Y2h8a2V5d29yZDpib3R5JyBkYXRhLWd0bS1jbGljaz0ndG9wX25hdl93YXRjaF9ib3R5X2NsaWNrJyBkYXRhLWJwLWNsaWNrPSdsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovYmVzdG9mdGhleWVhcnxjb3B5OkJlc3Qgb2YgdGhlIFllYXJ8ZmVhdHVyZTpiZXN0X29mX3RoZV95ZWFyfHRhcmdldF9wYXRoOi9iZXN0b2Z0aGV5ZWFyJyBocmVmPSIvYmVzdG9mdGhleWVhciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlc3Qgb2YgdGhlIFllYXIgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J3RvcG5hdl93YXRjaF9pdGVtJyBkYXRhLWZhdGFsLWF0dHJhY3Rpb249J2NvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmJyb3dzZV92aWRlb3MnIGRhdGEtZ3RtLWNsaWNrPSd0b3BfbmF2X3dhdGNoX2Jyb3dzZV92aWRlb3NfY2xpY2snIGRhdGEtYnAtY2xpY2s9J2xvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi93YXRjaHxjb3B5OkJyb3dzZSBWaWRlb3N8ZmVhdHVyZTpicm93c2VfdmlkZW9zfHRhcmdldF9wYXRoOi93YXRjaCcgaHJlZj0iL3dhdGNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJvd3NlIFZpZGVvcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6c3RhZmZfcGlja3MiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX3N0YWZmX3BpY2tzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHMvc3RhZmZwaWNrc3xjb3B5OlN0YWZmIFBpY2tzfGZlYXR1cmU6c3RhZmZfcGlja3N8dGFyZ2V0X3BhdGg6L2NoYW5uZWxzL3N0YWZmcGlja3MiIGhyZWY9Ii9jaGFubmVscy9zdGFmZnBpY2tzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZmYgUGlja3MgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOmNhdGVnb3JpZXMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NhdGVnb3JpZXNfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9jYXRlZ29yaWVzfGNvcHk6Q2F0ZWdvcmllc3xmZWF0dXJlOmNhdGVnb3JpZXN8dGFyZ2V0X3BhdGg6L2NhdGVnb3JpZXMiIGhyZWY9Ii9jYXRlZ29yaWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllcyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wbmF2X3dhdGNoX2l0ZW0iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOnRvcF9uYXZ8Y29tcG9uZW50OndhdGNofGtleXdvcmQ6Y2hhbm5lbHMiIGRhdGEtZ3RtLWNsaWNrPSJ0b3BfbmF2X3dhdGNoX2NoYW5uZWxzX2NsaWNrIiBkYXRhLWJwLWNsaWNrPSJsb2NhdGlvbjpnbG9iYWxfbmF2X3dhdGNofG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufHRhcmdldDovY2hhbm5lbHN8Y29weTpDaGFubmVsc3xmZWF0dXJlOmNoYW5uZWxzfHRhcmdldF9wYXRoOi9jaGFubmVscyIgaHJlZj0iL2NoYW5uZWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudV9kZXNjcmlwdGlvbiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9hPiAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvcG5hdl93YXRjaF9pdGVtIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDp3YXRjaHxrZXl3b3JkOm9uX2RlbWFuZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfb25kZW1hbmRfY2xpY2siIGRhdGEtYnAtY2xpY2s9ImxvY2F0aW9uOmdsb2JhbF9uYXZfd2F0Y2h8bmFtZTpzZWxlY3RfZ2xvYmFsX25hdl9vcHRpb258dGFyZ2V0Oi9vbmRlbWFuZHxjb3B5Ok9uIERlbWFuZHxmZWF0dXJlOm9uX2RlbWFuZHx0YXJnZXRfcGF0aDovb25kZW1hbmQiIGhyZWY9Ii9vbmRlbWFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnVfaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIERlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51X2Rlc2NyaXB0aW9uIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2E+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2Pgo8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbWFpbl9pdGVtJyBkYXRhLWd0bS1jbGljaz0idG9wX25hdl9wcmljaW5nX2NsaWNrIiBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjp0b3BfbmF2fGNvbXBvbmVudDpwcmljaW5nImRhdGEtYnAtY2xpY2s9bG9jYXRpb246Z2xvYmFsX25hdnx0YXJnZXQ6dXBncmFkZV9wYWdlfG5hbWU6c2VsZWN0X2dsb2JhbF9uYXZfb3B0aW9ufGNvcHk6dXBncmFkZXxmZWF0dXJlOnVwZ3JhZGV8dGFyZ2V0X3BhdGg6L3VwZ3JhZGUgaHJlZj0iL3VwZ3JhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpY2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9J21haW5faXRlbScgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfY29udGFjdF9zYWxlc19jbGljayIgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxjb21wb25lbnQ6Y29udGFjdF9zYWxlc3xrZXl3b3JkOmNvbnRhY3Rfc2FsZXMiIGhyZWY9Ii9lbnRlcnByaXNlL2NvbnRhY3QtdXM/bWtjPTM2OHRuYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0IFNhbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtYWluX2l0ZW0iIGhyZWY9Ii8vdmltZW8uY29tL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoX2ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMyIDMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRpdGxlPlNlYXJjaDwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi43NCwyNS4zMmwtNC41My00LjUzYTEsMSwwLDAsMC0uMjEtLjE0QTksOSwwLDEsMCwyMC42NSwyMmExLDEsMCwwLDAsLjE0LjIxbDQuNTMsNC41M2ExLDEsMCwwLDAsMS40MS0xLjQxWk0xNSwyMmE3LDcsMCwxLDEsNy03QTcsNywwLDAsMSwxNSwyMloiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tX2J1dHRvbnNfY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VwbG9hZCIgY2xhc3M9ImRhcmtfYnV0dG9uIiBkYXRhLWJyZWV6ZS1pZ25vcmUgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6dG9wX25hdnxrZXl3b3JkOnVwbG9hZCIgZGF0YS1ndG0tY2xpY2s9InRvcF9uYXZfdXBsb2FkX2NsaWNrIiBpZD0ianMtdXBsb2FkLWxpbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAzMCAyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjU4MyA0LjkyM0E4LjIgOC4yIDAgMDEyNC43NzggOS4zOSA1LjcgNS43IDAgMDEyMi43IDIwLjRsLTE2LS4wMDFBNS43IDUuNyAwIDExNi43IDloMS42ODJhOC4xNjIgOC4xNjIgMCAwMTEuMi00LjA3N3ptLTMuNjM2IDUuMzRBNC41MDEgNC41MDEgMCAwMDYuNyAxOS4yaDE2YTQuNSA0LjUgMCAwMC43OTktOC45M0E3IDcgMCAxMDkuNjUgMTAuMkg2LjdhNC41MyA0LjUzIDAgMDAtLjc1My4wNjN6bTkuNjMzLjg1OVYxOS4yaC0xdi04LjA5M2wtMy4wNDMgMy4wNDMtLjcwNy0uNzA3TDE1LjA3MyA5LjJsNC4yNDIgNC4yNDMtLjcwNy43MDctMy4wMjgtMy4wMjh6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnUgdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIGxvaHBfbW9iaWxlX21lbnVfc2V0dGluZ3MganMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2JhciBzdWJtZW51Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9wbmF2X21vYmlsZV9idXR0b24gdG9wbmF2X21vYmlsZV9wdWxsX2xlZnQganMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluc19jbG9zZSB0b3BuYXZfaWNvbl9tb2JpbGVfYXJyb3dsZWZ0X2IiPiA8L2J1dHRvbj4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0b3BuYXZfbW9iaWxlX2hlYWRlcl90aXRsZSBzdWJtZW51Ij5Nb3JlIHN0dWZmPC9oMT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJtZW51X2xpc3Rfc2V0dGluZ3NfbG9nZ2VkX291dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSIvdGVybXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgU2VydmljZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL3ByaXZhY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBQb2xpY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWFjdGlvbj0ibWVudS5jbG9zZSIgY2xhc3M9IiAiIGhyZWY9Ii9kbWNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iL2Nvb2tpZV9wb2xpY3kiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJkZXNrdG9wIiBvbmNsaWNrPSJ2aW1lby5tb2JpbGUuZGVza3RvcF9zaGFyZWQuX3MyZHMoKTsgcmV0dXJuIGZhbHNlIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVza3RvcCBzaXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGFuZ3VhZ2UgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYW5ndWFnZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3Qgb25jaGFuZ2U9InZpbWVvLm1vYmlsZS5kZXNrdG9wX3NoYXJlZC5fczJsKHRoaXMpIiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIiBjbGFzcz0idG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzX2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9InNlbGVjdGVkIiBzZWxlY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVzcGHDsW9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSJkZS1ERSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0ic2VsZWN0X2xhbmd1YWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV1dHNjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iZnItRlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW7Dp2FpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iamEtSlAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXpeacrOiqniAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0icHQtQlIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InNlbGVjdF9sYW5ndWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnR1Z3XDqnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ImtvLUtSIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJzZWxlY3RfbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDtlZzqta3slrQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZGF0YS1hY3Rpb249Im1lbnUuY2xvc2UiIGNsYXNzPSIgIiBocmVmPSJodHRwczovL3ZpbWVvLnplbmRlc2suY29tL2hjL2VuLXVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBUSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYWN0aW9uPSJtZW51LmNsb3NlIiBjbGFzcz0iICIgaHJlZj0iaHR0cHM6Ly92aW1lby56ZW5kZXNrLmNvbS9oYy8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BuYXZfbW9iaWxlX21lbnVfY29weXJpZ2h0Ij5UTSArIMKpIDIwMjMgVmltZW8uY29tLCBJbmMuPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgICAgICA8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50KXsKCiAgICAvLyBHbG9iYWwgdmFsdWVzCiAgICB3aW5kb3cudmltZW8gPSB3aW5kb3cudmltZW8gfHwge307CiAgICB2aW1lby5tb2JpbGUgPSB2aW1lby5tb2JpbGUgfHwge307CiAgICBWaW1lbyA9IHZpbWVvLm1vYmlsZSB8fCB7fTsKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkID0gVmltZW8uZGVza3RvcF9zaGFyZWQgfHwge307CgogICAgLy8gREVTS1RPUCBIQU5ETEVSUwoKICAgIHZhciBkZXNrdG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcG5hdl9kZXNrdG9wJyk7CgogICAgLy8gUHJldmVudCB0b3VjaCBkZXZpY2UgdG8gaGlndGxpZ2h0IHRoZSBhcmVhIHRhcHBlZAogICAgZGVza3RvcC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7CiAgICAgICAgLy8gVGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gYXZhdGFyIGltZwogICAgICAgIHZhciB0YXJnZXQgPSAoZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW1nJykgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQ7CgogICAgICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCd0b3BuYXZfaGFzX2Ryb3Bkb3duJykpIHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgIH0KICAgIH0sIGZhbHNlKTsKCiAgICAvLyBBZGQgbGFzdF9wYWdlIGNvb2tpZQogICAgdmFyIGxpc3RlbiA9ICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyA/ICd0b3VjaHN0YXJ0JyA6IHdpbmRvdy5Qb2ludGVyRXZlbnQgPyAncG9pbnRlcmRvd24nIDogd2luZG93Lk1TUG9pbnRlckV2ZW50ID8gJ01TUG9pbnRlckRvd24nIDogJ2NsaWNrJzsKICAgIGRlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcihsaXN0ZW4sIGZ1bmN0aW9uKGUpewogICAgICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLXRvcG5hdl9tZW51X2F1dGgnKSkgewogICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSAnbGFzdF9wYWdlPScgKyBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArICc7cGF0aD1cJy9cJzttYXgtYWdlPTE4MDA7JzsKICAgICAgICB9CiAgICB9LCBmYWxzZSk7CgogICAgLy8gTU9CSUxFIEhBTkRMRVJTCgogICAgLy8gVHJpZ2dlciBpT1MgVXBsb2FkIGZsb3cKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl91cGxvYWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gc2hvdyBpVHVuZXMgb25seSBpZiB3ZSBhcmUgaW4gaU9TIHdvcmxkCiAgICAgICAgaWYgKC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsKICAgICAgICAgICAgdmFyIGRlZXBsaW5rID0gJ3ZpbWVvOi8vYXBwLnZpbWVvLmNvbS91cGxvYWQ/cmVmPW1vYmlsZXdlYicsCiAgICAgICAgICAgICAgICBmYWxsYmFjayA9ICcvdXBsb2FkJywKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbkNhbGxiYWNrLAogICAgICAgICAgICAgICAgaGl0Q2FsbGJhY2s7CgogICAgICAgICAgICAvLyBDYWxsYmFja3MKICAgICAgICAgICAgd2Via2l0SGlkZGVuQ2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHN0aWxsIGhlcmUgb3BlbiB0aGUgdXJsIHBhZ2UuCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdEhpZGRlbikgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IGZhbGxiYWNrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgLy8gVHJ5IHRvIG9wZW4gdGhlIFZpbWVvIEFwcAogICAgICAgICAgICBoaXRDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZGVlcGxpbms7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHdlYmtpdEhpZGRlbkNhbGxiYWNrLCAyNSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBoaXRDYWxsYmFjaygpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmxvY2F0aW9uID0gZS5ocmVmOwoKICAgIH0KCgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN3aXRjaCB0byBkZXNrdG9wIHNpdGUKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llPSdvcHRfb3V0X21vYmlsZT0xO2V4cGlyZXM9RnJpLCAzMSBEZWMgOTk5OSAyMzo1OTo1OSBHTVQ7ZG9tYWluPScgKyB2aW1lby5kb21haW47CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfTsKCiAgICAvLyBTd2l0Y2ggdG8gbGFuZ3VhZ2UKICAgIFZpbWVvLmRlc2t0b3Bfc2hhcmVkLl9zMmwgPSBmdW5jdGlvbihzZWwpIHsKICAgICAgICB2YXIgbGFuZyA9IHNlbC52YWx1ZSwKICAgICAgICAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgogICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9zZXR0aW5ncy9sb2NhbGUnKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7CiAgICAgICAgeGhyLnNlbmQoJ2xvY2FsZT0nICsgbGFuZyArICcmdG9rZW49JyArIHZpbWVvLnhzcmZ0KTsKICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH07CgogICAgdmFyIG1vYmlsZU1lbnVFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfbG9nbycpOwogICAgaWYgKG1vYmlsZU1lbnVFbGUpIHsKICAgICAgICBtb2JpbGVNZW51RWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAvLyBPcGVuIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9tZW51X21haW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X21haW4nKTsKICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCiAgICAgICAgICAgIC8vIENsb3NlIE1lbnUKICAgICAgICAgICAgdmFyIG1vYmlsZV9oZWFkZXJfY2xvc2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfY2xvc2UnKTsKICAgICAgICAgICAgbW9iaWxlX2hlYWRlcl9jbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgdG9nZ2xlX2xpc3QgPSBtb2JpbGVfbWVudV9tYWluLnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BfbmF2X3RvZ2dsZV9saXN0Jyk7CiAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgnZXhwYW5kJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBhcnJvd19saXN0ID0gbW9iaWxlX21lbnVfbWFpbi5xdWVyeVNlbGVjdG9yQWxsKCcuanMtdG9wX25hdl90b2dnbGVfYXJyb3cnKTsKICAgICAgICAgICAgICAgIGlmKGFycm93X2xpc3QubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyb3dfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRvZ2dsZSBTZXR0aW5ncwogICAgICAgICAgICB2YXIgbW9iaWxlX21lbnVfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9tZW51X3NldHRpbmdzJyk7CiAgICAgICAgICAgIHZhciB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfc2V0dGluZ3MnKTsKICAgICAgICAgICAgdG9wbmF2MjAxNV9tb2JpbGVfaGVhZGVyX3NldHRpbmdzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIG1vYmlsZV9tZW51X3NldHRpbmdzLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfbWFpbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgdmFyIHRvcG5hdjIwMTVfbW9iaWxlX2hlYWRlcl9zZXR0aW5nc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2hlYWRlcl9zZXR0aW5zX2Nsb3NlJyk7CiAgICAgICAgICAgICAgICB0b3BuYXYyMDE1X21vYmlsZV9oZWFkZXJfc2V0dGluZ3NfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfc2V0dGluZ3Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbWVudV9tYWluLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy9Ecm9wZG93bgogICAgICAgICAgICB2YXIgbW9iaWxlX2Ryb3Bkb3duX3RvZ2dsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy10b3BuYXZfbW9iaWxlX21lbnVfdG9nZ2xlJyk7CiAgICAgICAgICAgIG1vYmlsZV9kcm9wZG93bl90b2dnbGUuZm9yRWFjaChmdW5jdGlvbihidG4pIHsKICAgICAgICAgICAgICAgIGJ0bi5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBidXR0b24gPSBlLnRhcmdldDsKICAgICAgICAgICAgICAgICAgICB2YXIgYXJyb3cgPSBidXR0b24ucXVlcnlTZWxlY3RvcignLmpzLXRvcF9uYXZfdG9nZ2xlX2Fycm93Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoYXJyb3cuY2xhc3NMaXN0LmNvbnRhaW5zKCdyb3RhdGUnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cuY2xhc3NMaXN0LnJlbW92ZSgncm90YXRlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdy5jbGFzc0xpc3QuYWRkKCdyb3RhdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gYnV0dG9uLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2dnbGVfbGlzdCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wX25hdl90b2dnbGVfbGlzdCcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZih0b2dnbGVfbGlzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodG9nZ2xlX2xpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdleHBhbmQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZV9saXN0LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QucmVtb3ZlKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlX2xpc3Quc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVfbGlzdC5jbGFzc0xpc3QuYWRkKCdleHBhbmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmYWxzZSk7CiAgICB9OwoKICAgIHZhciBtb2JpbGVBbGJ1bXNFbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9oZWFkZXJfYWxidW1zJyk7CiAgICBpZiAobW9iaWxlQWxidW1zRWxlKSB7CiAgICAgICAgbW9iaWxlQWxidW1zRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciBtb2JpbGVfbWVudV9hbGJ1bXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtdG9wbmF2X21vYmlsZV9hbGJ1bV9saXN0Jyk7CiAgICAgICAgICAgIG1vYmlsZV9tZW51X2FsYnVtcy5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CgogICAgICAgICAgICAvLyBDbG9zZQogICAgICAgICAgICB2YXIgbW9iaWxlX2FsYnVtc19jbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy10b3BuYXZfbW9iaWxlX2FsYnVtX2xpc3RfY2xvc2UnKTsKICAgICAgICAgICAgaWYgKG1vYmlsZV9hbGJ1bXNfY2xvc2UpIHsKICAgICAgICAgICAgICAgIG1vYmlsZV9hbGJ1bXNfY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgbW9iaWxlX21lbnVfYWxidW1zLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgfTsKfSkod2luZG93LCBkb2N1bWVudCk7CgovLyBeXl5eXl5eXl5eXl5eXl5eXl5eXgovLyBBRlRFUiBNT0JJTEUgTkFWIFRFU1QgUkVDT05DSUxFIFdJVEggVEhFIGBtb2JpbGVfbWVudV9zY3JpcHQucGh0bWxgCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC9zY3JpcHQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcF9jb250ZW50IHZhcmlhbnQtdjIiPgogICAgICAgICAgICAgICAgCgoKCjxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZXhjZXB0aW9uX3NlY3Rpb24gZXhjZXB0aW9uX3NlY3Rpb24tLWluZm8iPgogICAgICAgIDxoMSBjbGFzcz0iZXhjZXB0aW9uX3RpdGxlIGlyaXNfaGVhZGVyIj5Tb3JyeSwgd2UgY291bGRu4oCZdCBmaW5kIHRoYXQgcGFnZTwvaDE+CgogICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9jb250ZW50Ij4KICAgICAgICAgICAgPHAgY2xhc3M9ImV4Y2VwdGlvbl9tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbCI+CiAgICAgPGRpdiBjbGFzcz0iaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uIj4KICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfaWMgaXMtLTE2Ij48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNOCAxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOC04IDMuNTgyLTggOCAzLjU4MiA4IDggOHpNNyA0aDJ2Mkg3VjR6bTAgM2gydjVIN1Y3eiIvPjwvc3ZnPjwvc3Bhbj4KICAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1oZWFkZXIiPgogICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTwvc3Ryb25nPgogICAgPC9kaXY+CgogICAgPHVsIGNsYXNzPSJpcmlzX25vdGlmaWNhdGlvbi1saXN0Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+SXQgZXhpc3RzLCBidXQgeW91IGRvbuKAmXQgaGF2ZSBwZXJtaXNzaW9uIHRvIHNlZSBpdCwgb3IgeW91IG5lZWQgdG8gPGEgb25jbGljaz0idmltZW8uU2Vzc2lvbi5jcmVhdGUoKSI+bG9nIGluPC9hPi48L2xpPgogICAgICAgICAgICAgICAgPGxpPk5vdGhpbmcgaGFzIGV2ZXIgZXhpc3RlZCBoZXJlLiBTcG9va3kuPC9saT4KICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPC9saT4KICAgIDwvdWw+CjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJleGNlcHRpb25fc2VhcmNoIiBhY3Rpb249Ii9zZWFyY2giIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJleGNlcHRpb25fc2VhcmNoLWlucHV0LXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtaW5wdXQgaXJpc19pbnB1dCBpcmlzX2lucHV0LS1zZWFyY2gganMtc2VhcmNoX2F1dG9jb21wbGV0ZSIgdHlwZT0idGV4dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IlNlYXJjaCB2aWRlb3MsIHBlb3BsZSwgYW5kIG1vcmUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4Y2VwdGlvbl9zZWFyY2gtYnV0dG9uIGlyaXNfYnRuIGlyaXNfYnRuLS1wcmltYXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlyaXNfYnRuLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbl9hdXhpbGlhcnkiPjwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjxmb290ZXIgY2xhc3M9ImZvb3Rlcl92MiBmb290ZXJfdjItLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX3NpdGVtYXAiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sb2dvIj4KICAgICAgICA8c3ZnIGFsdD0iVmltZW8iIHdpZHRoPSIxMDAiIGhlaWdodD0iNDAiPjxwYXRoIGQ9Ik0yMi40NDggMTQuNTc1Yy0uMTA0IDIuMTctMS42MTggNS4xNDYtNC41NDQgOC45MTItMy4wMyAzLjk0Mi01LjU5IDUuOTEyLTcuNjg2IDUuOTEyLTEuMjk3IDAtMi4zOTctMS4yMDQtMy4zLTMuNi0uNi0yLjItMS4yMDItNC4zOTgtMS43OTQtNi41OTgtLjY2NC0yLjM5Ni0xLjM4LTMuNi0yLjE0Ny0zLjYtLjE2NiAwLS43NDcuMzU0LTEuNzUzIDEuMDVsLTEuMDQ4LTEuMzVjMS4xLS45NjUgMi4xOS0xLjkzIDMuMjU3LTIuOTA1IDEuNDYzLTEuMjY1IDIuNTczLTEuOTQgMy4zLTIuMDAyIDEuNzMyLS4xNjYgMi44IDEuMDE3IDMuMjA1IDMuNTU4LjQzNSAyLjc0LjczNiA0LjQ0LjkwMiA1LjExNS40OTggMi4yNyAxLjA0OCAzLjQwMiAxLjY1IDMuNDAyLjQ2NiAwIDEuMTcyLS43MzcgMi4xMDUtMi4yMS45MzQtMS40NzMgMS40MzItMi41OTMgMS41MDQtMy4zNy4xMzMtMS4yNzctLjM2NS0xLjkxLTEuNTA2LTEuOTEtLjUzIDAtMS4wOC4xMjUtMS42NS4zNjQgMS4xLTMuNTkgMy4xODYtNS4zMzMgNi4yNzctNS4yMyAyLjI3My4wNzMgMy4zNSAxLjU1NiAzLjIyNyA0LjQ2bTEzLjc1NSA3LjAzNGMtLjkzMyAxLjc2NC0yLjIyIDMuMzctMy44NiA0LjgwMy0yLjI0IDEuOTMtNC40NyAyLjkwNS02LjcgMi45MDUtMS4wMzcuMDAyLTEuODI2LS4zMy0yLjM3Ni0uOTk0LS41NS0uNjYzLS44MS0xLjUzNS0uNzc3LTIuNjAzLjAzLTEuMS4zNzItMi44IDEuMDI1LTUuMTA0LjY1NC0yLjMwMy45NzYtMy41MzcuOTc2LTMuNzAzIDAtLjg2LS4zLTEuMjk3LS45MDItMS4yOTctLjE5OCAwLS43Ny4zNTMtMS43MDIgMS4wNDhsLTEuMTUyLTEuMzVjMS4wNy0uOTYyIDIuMTM3LTEuOTI3IDMuMjA2LTIuOTAyIDEuNDMtMS4yNjYgMi41LTEuOTQgMy4yMDUtMi4wMDIgMS4xLS4xMDMgMS45MS4yMyAyLjQyOC45NzYuNTE4Ljc0Ny43MDUgMS43MjIuNTggMi45MTUtLjQzNSAyLjAzNC0uOTAyIDQuNjA3LTEuNCA3LjczLS4wMyAxLjQzLjQ4OCAyLjE0NiAxLjU1NiAyLjE0Ni40NjcgMCAxLjI5Ny0uNDk4IDIuNS0xLjQ4My45OTYtLjgyIDEuODE1LTEuNTk4IDIuNDUtMi4zMjRsLjk0MiAxLjI0NG0tNC4zNTctMTcuOGMtLjAzLjgzLS40NDYgMS42MjgtMS4yNTUgMi4zOTUtLjkuODYtMS45NyAxLjI5Ni0zLjIwNCAxLjI5Ni0xLjkgMC0yLjgyMi0uODMtMi43NS0yLjQ5LjAzMi0uODYuNTQtMS42OSAxLjUyNi0yLjQ5Ljk4NS0uNzk3IDIuMDc0LTEuMTkgMy4yNzgtMS4xOS43MDUgMCAxLjI4Ni4yNyAxLjc1My44Mi40NjcuNTQuNjg0IDEuMS42NTMgMS42Nm0zNS42MTIgMTcuOGMtLjkzMyAxLjc2My0yLjIyIDMuMzctMy44NiA0LjgwMi0yLjI0IDEuOTMtNC40NyAyLjkwNC02LjcgMi45MDQtMi4xNjguMDAyLTMuMjE2LTEuMjAyLTMuMTUzLTMuNTk4LjAzLTEuMDcuMjM4LTIuMzU1LjYyMi0zLjg1LjM4NC0xLjUwMy41OS0yLjY2NS42MjMtMy41MDUuMDMtMS4yNjUtLjM1My0xLjg5OC0xLjE1Mi0xLjg5OC0uODcgMC0xLjkxIDEuMDM2LTMuMTEyIDMuMS0xLjI3NiAyLjE2OC0xLjk2IDQuMjc0LTIuMDY0IDYuMzA4LS4wNzMgMS40My4wNzIgMi41NC40MjUgMy4yOTgtMi4zMjQuMDY0LTMuOTYzLS4zMi00Ljg4Ni0xLjE1LS44My0uNzM3LTEuMjEyLTEuOTUtMS4xNS0zLjY1Mi4wMy0xLjA2OC4xOTgtMi4xMzcuNDg4LTMuMjA1LjI5LTEuMDcuNDU3LTIuMDIzLjQ4OC0yLjg1My4wNjItMS4yMzQtLjM4NC0xLjg1Ny0xLjM1LTEuODU3LS44NCAwLTEuNzQuOTU1LTIuNzA2IDIuODUzLS45NjYgMS45LTEuNTA1IDMuODktMS42MSA1Ljk1Ni0uMDYgMS44NjcuMDUzIDMuMTc0LjM2NCAzLjktMi4yOTMuMDYyLTMuOTItLjQxNS00Ljg3Ni0xLjQ1Mi0uNzk4LS44Ni0xLjE2LTIuMTgtMS4xLTMuOTQyLjAzMi0uODYuMTg4LTIuMDc1LjQ1Ny0zLjYyLjI4LTEuNTQ2LjQyNS0yLjc1LjQ1Ny0zLjYyLjA2Mi0uNjAzLS4wODMtLjkwMy0uNDQ2LS45MDMtLjE5NyAwLS43NjguMzQtMS43MDIgMS4wMTVsLTEuMjAzLTEuMzQ4Yy4xNjgtLjEzNSAxLjIxNi0xLjEgMy4xNTYtMi45MDUgMS40LTEuMjk3IDIuMzU0LTEuOTcgMi44NTItMi4wMDIuODcyLS4wNzMgMS41NjcuMjkgMi4xMDYgMS4wOC41My43ODcuOCAxLjY5LjggMi43MjcgMCAuMzMyLS4wMzIuNjU0LS4xMDUuOTU0LjQ5Ny0uNzY2IDEuMDgtMS40MyAxLjc1Mi0yIDEuNTM3LTEuMzQgMy4yNi0yLjA4NiA1LjE1Ny0yLjI1MiAxLjY0LS4xMzUgMi44LjI1IDMuNTA1IDEuMTUyLjU3LjczNi44MyAxLjc4NC44IDMuMTUzLjIzNy0uMTk4LjQ4Ni0uNDE2Ljc0Ni0uNjU0Ljc2Ny0uOTAzIDEuNTE0LTEuNjIgMi4yNS0yLjE0OCAxLjIzNS0uOTAyIDIuNTItMS40IDMuODYtMS41MDQgMS41OTctLjEzNSAyLjc1LjI1IDMuNDU0IDEuMTUyLjYwMi43MjYuODcgMS43NzQuOCAzLjE0My0uMDMyLjkzMy0uMjYgMi4yOC0uNjc1IDQuMDY1LS40MTYgMS43NzMtLjYyNCAyLjgtLjYyNCAzLjA3LS4wMy42OTUuMDMgMS4xODIuMTk3IDEuNDQyLjE2Ni4yNy41Ny4zOTQgMS4yMDMuMzk0LjQ2NyAwIDEuMjk3LS40OTcgMi41LTEuNDgyLjk5Ni0uODIgMS44MTYtMS41OTggMi40NS0yLjMyNGwuOTYzIDEuMjU0bTE4Ljc2NS0uMDUyYy0uOTY1IDEuNTk4LTIuODc0IDMuMTk1LTUuNzA2IDQuNzkzLTMuNTM4IDIuMDMyLTcuMTI3IDMuMDUtMTAuNzU4IDMuMDUtMi43MDYgMC00LjYzNi0uOTA0LTUuODA4LTIuNy0uODMtMS4yMzMtMS4yMzQtMi42OTYtMS4yMDMtNC40MDcuMDMtMi42OTggMS4yMzQtNS4yNyAzLjYtNy43MSAyLjYwMy0yLjY2NSA1LjY3NC00LjAwMyA5LjIxLTQuMDAzIDMuMjcgMCA1IDEuMzI4IDUuMjA4IDMuOTk0LjEzNSAxLjcwMi0uNzk4IDMuNDQ1LTIuOCA1LjI0LTIuMTM3IDEuOTYtNC44MjQgMy4yMTUtOC4wNiAzLjc0NC42LjgzIDEuNTA0IDEuMjQ1IDIuNzA3IDEuMjQ1IDIuMzk2IDAgNS4wMi0uNjEzIDcuODYzLTEuODM3IDIuMDMzLS44NiAzLjYzLTEuNzUzIDQuODAzLTIuNjc2bC45NDUgMS4yNjVtLTExLjM2LTUuMjI4Yy4wMzItLjg5Mi0uMzMtMS4zNS0xLjEtMS4zNS0uOTk0IDAtMi4wMS42ODYtMy4wNDggMi4wNjYtMS4wMzggMS4zOC0xLjU2NyAyLjY5Ny0xLjU5OCAzLjk2Mi0uMDIgMC0uMDIuMjE4IDAgLjY0MyAxLjYzLS42IDMuMDUtMS41MTQgNC4yNDItMi43MzguOTY2LTEuMDU4IDEuNDYzLTEuOTIgMS41MDUtMi41ODNtMjQuOTQ2IDEuODY4Yy0uMTM1IDMuMDcyLTEuMjY1IDUuNzE3LTMuNDAyIDcuOTQ3LTIuMTM1IDIuMjMtNC43OSAzLjM1LTcuOTU1IDMuMzUtMi42MzUgMC00LjYzNy0uODUtNi4wMDYtMi41NS0uOTk3LTEuMjY3LTEuNTU3LTIuODU0LTEuNjUtNC43NTItLjE2Ni0yLjg2My44Ni01LjQ5OCAzLjEtNy44OTQgMi40MDgtMi42NjUgNS40MjctMy45OTMgOS4wNTctMy45OTMgMi4zMzQgMCA0LjA5OC43ODggNS4zIDIuMzQ0IDEuMTMyIDEuNDQzIDEuNjUgMy4yOSAxLjU1NyA1LjU1bS01LjY2NC0uMTg1Yy4wMy0uOTAzLS4wOTQtMS43MzMtLjM3NC0yLjQ4LS4yOC0uNzQ3LS42OTUtMS4xMy0xLjIyNC0xLjEzLTEuNzAyIDAtMy4xMDIuOTIzLTQuMjAyIDIuNzYtLjkzMyAxLjUwMy0xLjQzIDMuMTEtMS41MDQgNC44MTItLjAzLjg0LjExNCAxLjU3Ny40NDYgMi4yMS4zNjQuNzM2Ljg4MiAxLjEgMS41NTYgMS4xIDEuNTA1IDAgMi43OS0uODgzIDMuODYtMi42NTYuODkyLTEuNDcyIDEuMzgtMy4wMDggMS40NC00LjYxNWguMDAyeiIgZmlsbD0iIzExMjIzMyIvPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfX2xpbmtzIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Vc2UgY2FzZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19yZXZlYWwiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImlyaXNfaWMgaXMtLTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik03LjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMEw0IDQuNTg2IDEuNzA3IDIuMjkzYy0uMzktLjM5LTEuMDI0LS4zOS0xLjQxNCAwLS4zOS4zOS0uMzkgMS4wMjQgMCAxLjQxNGwzIDNjLjM5LjM5IDEuMDI0LjM5IDEuNDE0IDBsMy0zYy4zOS0uMzkuMzktMS4wMjQgMC0xLjQxNHoiLz48L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2g0PgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1saXN0IGZvb3Rlcl92Ml9hY2NvcmRpb25fX21lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW50ZXJwcmlzZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmVudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVycHJpc2UgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9zbWFsbC1idXNpbmVzcy1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpzbWFsbF9idXNpbmVzcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU21hbGwgYnVzaW5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9jcmVhdGl2ZS1wcm9mZXNzaW9uYWxzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmNyZWF0aXZlX3Byb2Zlc3Npb25hbHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0aXZlIHByb2Zlc3Npb25hbHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9maXRuZXNzLXNvbHV0aW9ucyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnVzZV9jYXNlc3xrZXl3b3JkOmZpdG5lc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpdG5lc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9mYWl0aC1zb2x1dGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDpmYWl0aCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3NvbHV0aW9ucy9lZHVjYXRpb24tc29sdXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6ZWR1Y2F0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFZHVjYXRpb24gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NyZWF0ZS9lY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp1c2VfY2FzZXN8a2V5d29yZDplY29tbWVyY2UiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVjb21tZXJjZSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY3JlYXRlL3JlYWwtZXN0YXRlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dXNlX2Nhc2VzfGtleXdvcmQ6cmVhbF9lc3RhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwgZXN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5Qcm9kdWN0PC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL2ludGVyYWN0aXZlLXZpZGVvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDppbnRlcmFjdGl2ZV92aWRlbyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJhY3RpdmUgVmlkZW8gICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3ZpZGVvLWVkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpZGVvX2VkaXRvcnxrZXl3b3JkOnZpZGVvX2VkaXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25saW5lIFZpZGVvIEVkaXRvciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvYXV0by1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2F1dG9fY2FwdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDphdXRvX2NjIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvIENhcHRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3dlYmluYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfd2ViaW5hciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp3ZWJpbmFyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJpbmFyIFNvZnR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aXJ0dWFsLWV2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aXJ0dWFsX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpsaXZlX2V2ZW50cyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbCBFdmVudHMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLXBsYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aWRlb19wbGF5ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmZlYXR1cmVzfGtleXdvcmQ6dmlkZW9fcGxheWVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBQbGF5ZXIgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWxpYnJhcnkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfdmlkZW9fbGlicmFyeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDp2aWRlb19saWJyYXJ5IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBMaWJyYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY3JlYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnNvbHV0aW9uc3xrZXl3b3JkOmNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlIFZpZGVvIE1ha2VyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9saXZlc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2xpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmxpdmVfc3RyZWFtaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXZlIFN0cmVhbWluZyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvc2NyZWVuLXJlY29yZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3NjcmVlbl9yZWNvcmRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpzY3JlZW5fcmVjb3JkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmVlbiBSZWNvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSdpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZmVhdHVyZXMvdmlkZW8tcHJpdmFjeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wcml2YWN5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOnByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIFByaXZhY3kgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2ZlYXR1cmVzL3ZpZGVvLWNvbGxhYm9yYXRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfY29sbGFib3JhdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6ZmVhdHVyZXN8a2V5d29yZDpjb2xsYWJvcmF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBDb2xsYWJvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1tYXJrZXRpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfZGlzdHJpYnV0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmRpc3RyaWJ1dGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gTWFya2V0aW5nICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9vdHQ/bWtjPWVudHByc2IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfbW9uZXRpemF0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOm1vbmV0aXphdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uZXRpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy92aWRlby1hbmFseXRpY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfYW5hbHl0aWNzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmFuYWx5dGljcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkZW8gQW5hbHl0aWNzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9J2lyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9mZWF0dXJlcy9vbmxpbmUtdmlkZW8taG9zdGluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19ob3N0aW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpmZWF0dXJlc3xrZXl3b3JkOmhvc3RpbmciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvIEhvc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0naXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Zvci1oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Zvcl9oaXJlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpzb2x1dGlvbnN8a2V5d29yZDpmb3JfaGlyZSIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlyZSBWaWRlbyBQcm9zICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fbGluayBmb290ZXJfdjJfYWNjb3JkaW9uIj4KICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb290ZXJfdjJfYWNjb3JkaW9uX19jaGVjayIgdHlwZT0iY2hlY2tib3giPgogICAgICAgICAgICA8aDQgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1oZWFkZXItdGV4dCI+UmVzb3VyY2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vaGVscC96ZW5kZXNrX3Nzbz9yZWRpcmVjdF90bz1odHRwczovL2hlbHAudmltZW8uY29tLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19oZWxwX2NlbnRlcl9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6aGVscF9jZW50ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgQ2VudGVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdmltZW8uY29tL2Jsb2cvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2Jsb2dfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2cgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vY3VzdG9tZXJzL2VudGVycHJpc2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb3VyX2N1c3RvbWVyc19jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6Y3VzdG9tZXJfbG9nb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBDdXN0b21lcnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vYmxvZy9jYXRlZ29yeS92aWRlby1zY2hvb2wvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpZGVvX3NjaG9vbF9jbGljayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6cmVzb3VyY2VzfGtleXdvcmQ6dmlkZW9fc2Nob29sIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaWRlbyBTY2hvb2wgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly92aW1lby5jb20vb3R0L3Jlc291cmNlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19vdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpvdHRfcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVFQgUmVzb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19kZXZlbG9wZXJzX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpkZXZlbG9wZXJzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZlbG9wZXJzICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9wYXJ0bmVycyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19wYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDpyZXNvdXJjZXN8a2V5d29yZDpwYXJ0bmVyIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWNvbWUgYSBQYXJ0bmVyICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9leHBlcnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2V4cGVydHMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaW4gVmltZW8gRXhwZXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvaGVscC9ndWlkZWxpbmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX3ZpbWVvX2d1aWRlbGluZXNfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnJlc291cmNlc3xrZXl3b3JkOnZpbWVvX2d1aWRlbGluZXMiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWRlbGluZXMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rIGZvb3Rlcl92Ml9hY2NvcmRpb24iPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrIiB0eXBlPSJjaGVja2JveCI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWhlYWRlci10ZXh0Ij5BcHBzPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQxMzU2Njg2NzYzP3B0PTQxNzczMSZhbXA7Y3Q9bG9ocCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOm1hY29zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgbWFjT1MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9hcHBzLmFwcGxlLmNvbS9hcHAvYXBwbGUtc3RvcmUvaWQ0MjUxOTQ3NTk/cHQ9NDE3NzMxJmFtcDtjdD1lbnRlcnByaXNlX21vYmlsZV9jb21tc19MUCZhbXA7bXQ9OCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmlvcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmltZW8gZm9yIGlPUyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLnZpbWVvLmFuZHJvaWQudmlkZW9hcHAmYW1wO2hsPWVuX1VTJmFtcDtnbD1VUyZhbXA7cGxpPTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OmFwcHN8a2V5d29yZDphbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgQW5kcm9pZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC92aW1lby9pZDQyNTE5NDc1OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9pb3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIENyZWF0ZSBmb3IgaU9TICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20udmltZW8uYW5kcm9pZC52aWRlb2FwcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOmNyZWF0ZV9hbmRyb2lkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBDcmVhdGUgZm9yIEFuZHJvaWQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubWFnaXN0by5jb20vIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDphcHBzfGtleXdvcmQ6bWFnaXN0byIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaXN0byAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2FwcHMuc2hvcGlmeS5jb20vdmltZW9fcHJvZHVjdF92aWRlb19tYWtlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX3Nob3BpZnkiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIGZvciBTaG9waWZ5ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9pbnRlZ3JhdGlvbnMvem9vbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6YXBwc3xrZXl3b3JkOnZpbWVvX2Zvcl96b29tIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaW1lbyBmb3IgWm9vbSAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb290ZXJfdjJfX2xpbmsgZm9vdGVyX3YyX2FjY29yZGlvbiI+CiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fY2hlY2siIHR5cGU9ImNoZWNrYm94Ij4KICAgICAgICAgICAgPGg0IGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaGVhZGVyLXRleHQiPlZpbWVvPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX2FjY29yZGlvbl9fcmV2ZWFsIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpcmlzX2ljIGlzLS0xMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCA4Ij48cGF0aCBkPSJNNy43MDcgMi4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNCA0LjU4NiAxLjcwNyAyLjI5M2MtLjM5LS4zOS0xLjAyNC0uMzktMS40MTQgMC0uMzkuMzktLjM5IDEuMDI0IDAgMS40MTRsMyAzYy4zOS4zOSAxLjAyNC4zOSAxLjQxNCAwbDMtM2MuMzktLjM5LjM5LTEuMDI0IDAtMS40MTR6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstbGlzdCBmb290ZXJfdjJfYWNjb3JkaW9uX19tZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpwcmljaW5nIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL3VwbG9hZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua191cGxvYWRfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6dXBsb2FkIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFVwbG9hZCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvY2hhbm5lbHMvc3RhZmZwaWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19zdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpzdGFmZl9waWNrcyIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBTdGFmZiBQaWNrcyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvb25kZW1hbmQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfb25fZGVtYW5kX2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOm9uX2RlbWFuZCIKICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICBPbiBEZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL290dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua192aW1lb19vdHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6b3R0IgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFZpbWVvIE9UVCAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvc2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfc2l0ZV9tYXBfY2xpY2siCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6c2l0ZV9tYXAiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgU2l0ZSBtYXAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2Fib3V0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ndG0tY2xpY2s9ImZvb3Rlcl9saW5rX2Fib3V0X2NsaWNrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mYXRhbC1hdHRyYWN0aW9uPSJjb250YWluZXI6Zm9vdGVyfGNvbXBvbmVudDp2aW1lb3xrZXl3b3JkOmFib3V0X3ZpbWVvIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0ICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19saW5rLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLWdyYXktMCBpcmlzX2xpbmstLWZvb3RlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vaW52ZXN0b3JzLnZpbWVvLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZ3RtLWNsaWNrPSJmb290ZXJfbGlua19pbnZlc3Rvcl9yZWxhdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6aW52ZXN0b3JfcmVsYXRpb25zIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEludmVzdG9yIFJlbGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGluay1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1ncmF5LTAgaXJpc19saW5rLS1mb290ZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3ByZXNzLnZpbWVvLmNvbS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfcHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZhdGFsLWF0dHJhY3Rpb249ImNvbnRhaW5lcjpmb290ZXJ8Y29tcG9uZW50OnZpbWVvfGtleXdvcmQ6cHJlc3MiCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xpbmstaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tZ3JheS0wIGlyaXNfbGluay0tZm9vdGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWd0bS1jbGljaz0iZm9vdGVyX2xpbmtfam9icyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6dmltZW98a2V5d29yZDpqb2JzIgogICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIEpvYnMgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPHNjcmlwdD4KICAgIGNvbnN0IGZvb3RlckFjY29yZGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Zvb3Rlcl92Ml9hY2NvcmRpb25fX2NoZWNrJyk7CgogICAgaWYgKGZvb3RlckFjY29yZGlvbikgewogICAgICAgIHdpbmRvdy5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvb3RlckFjY29yZGlvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGZvb3RlckFjY29yZGlvbltpXS50eXBlID09PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgICAgICAgICAgZm9vdGVyQWNjb3JkaW9uW2ldLmNoZWNrZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH07CiAgICAgICAgfTsKICAgIH07Cjwvc2NyaXB0PgogICAgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImZvb3Rlcl92Ml9fYXV4aWxpYXJ5ICI+CgogICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3YyX19hdXhpbGlhcnktY29udGVudCI+CiAgICAgICAgICAgIDxwPiZjb3B5OyAyMDIzIFZpbWVvLmNvbSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdCI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX3YyX19sZWdhbC1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iL3Rlcm1zIiB0aXRsZT0iVGVybXMgJmFtcDsgQ29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl92Ml9fbGVnYWwtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJpcmlzX2xpbmsgaXJpc19saW5rLS1vcGFxdWUiIGhyZWY9Ii9wcml2YWN5IiB0aXRsZT0iUHJpdmFjeSBQb2xpY3kiPgogICAgICAgICAgICAgICAgICAgIFByaXZhY3kgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgaWQ9ImRvLW5vdC1zZWxsLWl0ZW0iIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSBoaWRkZW4iPgogICAgICAgICAgICAgICAgPGEgaWQ9ImRvLW5vdC1zZWxsIiBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiB0aXRsZT0iRG8gTm90IFNlbGwgTXkgUGVyc29uYWwgSW5mb3JtYXRpb24iIGRhdGEtZmF0YWwtYXR0cmFjdGlvbj0iY29udGFpbmVyOmZvb3Rlcnxjb21wb25lbnQ6Zm9vdGVyfGtleXdvcmQ6ZG9fbm90X3NlbGxfbXlfcGVyc29uYWxfaW5mb3JtYXRpb258dGFyZ2V0OnRyYW5zY2VuZF9kaWFsb2d1ZV9ib3giPgogICAgICAgICAgICAgICAgICAgIERvIE5vdCBTZWxsIE15IFBlcnNvbmFsIEluZm9ybWF0aW9uICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvcHJpdmFjeS9jYWxpZm9ybmlhLXByaXZhY3kiIHRpdGxlPSJDQSBQcml2YWN5Ij4KICAgICAgICAgICAgICAgICAgICBDQSBQcml2YWN5ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvZG1jYSIgdGl0bGU9IkNvcHlyaWdodCBJbmZvcm1hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0ICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfdjJfX2xlZ2FsLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIiBocmVmPSIvY29va2llX3BvbGljeSIgdGl0bGU9IkxlYXJuIG1vcmUgYWJvdXQgaG93IFZpbWVvIHVzZXMgY29va2llcyI+CiAgICAgICAgICAgICAgICAgICAgQ29va2llcyAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVycyBmb290ZXJfdjJfX2F1eGlsaWFyeS1jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGFuZ3VhZ2UiPgogICAgICAgICAgICBMYW5ndWFnZToKICAgICAgICAgICAgPGEgY2xhc3M9ImlyaXNfbGluayBpcmlzX2xpbmstLW9wYXF1ZSIgaHJlZj0iI2xhbmd1YWdlIiBvbmNsaWNrPSJ2aW1lby5Nb2RhbC5jcmVhdGUoe2NvbnRlbnQ6ICcvc2V0dGluZ3MvbG9jYWxlJywgc2l6ZTogJ3NtYWxsJ30pOyByZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hvb3NlIGEgZGlmZmVyZW50IGxhbmd1YWdlIj5FbmdsaXNoPC9hPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlcl92Ml9fZmlsdGVyIj5NYXR1cmUgY29udGVudCBmaWx0ZXI6IDwvc3Bhbj48YSBjbGFzcz0iaXJpc19saW5rIGlyaXNfbGluay0tb3BhcXVlIGZvb3Rlcl92Ml9fZmlsdGVyc19fbGFuZyBjb250ZW50ZmlsdGVyIGpzLWZvb3Rlcl9jb250ZW50ZmlsdGVyX2xpbmsiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0idmltZW8uTW9kYWwuY3JlYXRlKHtjb250ZW50OiAnL3NldHRpbmdzL2NvbnRlbnRyYXRpbmcnfSkiIHRpdGxlPSJDaGFuZ2UgeW91ciBtYXR1cmUgY29udGVudCBmaWx0ZXIiPk5vbmU8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKPC9zZWN0aW9uPgo8IS0tIERvIG5vdCBzZWxsIGxpbmsgYnV0dG9uIGZvciBDYWxpZm9ybmlhIHVzZXJzIC0tPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIGRhdGEtZGlzbWlzc2VkLXZpZXctc3RhdGU9IkhpZGRlbiIgZGF0YS10YW1wZXItcmVzaXN0PSJvZmYiCiAgICBzcmM9Imh0dHBzOi8vY2RuLnRyYW5zY2VuZC5pby9jbS8zMWU5N2NiZi0zNTVjLTRmMGQtOGJhZC05Y2Q5NDUxMjE1MDgvYWlyZ2FwLmpzIj4KPC9zY3JpcHQ+CjwvZm9vdGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCjxzY3JpcHQ+CiAgICB2YXIgX19mYSA9IF9fZmEgfHwgW107CiAgICAvKioKICAgICAqIEJlY2F1c2Ugc2luZ2xlIHBhZ2UgYXBwbGljYXRpb25zIHN1Y2ggYXMgdGhlIGFwcCBzaGVsbCB3aWxsIGJlIHRyYWNraW5nCiAgICAgKiBGYXRhbCBBdHRyYWN0aW9uIHBhZ2Ugdmlld3Mgb24gUmVhY3QgbGlmZWN5Y2xlIGhvb2tzIChjb21wb25lbnREaWRNb3VudCkKICAgICAqIHdlIHdhbnQgdG8gYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIHBhZ2V2aWV3IGV2ZW50IGZyb20gdGhlIFBIUCB0ZW1wbGF0ZQogICAgICogYW5kIGRlZmVyIHRoaXMgc29ydCBvZiB0cmFja2luZyBsb2dpYyB0byB0aGUgZnJvbnQgZW5kLgogICAgICoKICAgICAqIFRoaXMgY2hlY2sgYWxsb3dzIHVzIHRvIGRlY2xhcmUgaW4gYSBjb250cm9sbGVyIHdoZXRoZXIgb3Igbm90IHdlCiAgICAgKiB3YW50IHRvIGRpc3BhdGNoIHRoYXQgcHJlbGltaW5hcnkgcGFnZXZpZXcuCiAgICAgKgogICAgICogVGhlIHByb3BlcnR5IGlzIGFkZGl0aXZlIG9ubHksIGFzIHRvIG5vdCBhZmZlY3QgZXhpc3RpbmcgcGFnZXZpZXdzLgogICAgICovCiAgICAgICAgICAgIF9fZmEucHVzaChbJ3RyYWNrUGFnZXZpZXcnXSk7CiAgICAKICAgIC8qKgogICAgICogQWRkIHNlcnZlciBzaWRlIEFCTGluY29sbiBleHBlcmltZW50cyB0byBHVE0gZGF0YSBsYXllci4KICAgICAqLwogICAgICAgICAgICAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAod2luZG93Ll9ndG0pIHsKICAgICAgICAgICAgICAgIHZhciBhYmxpbmNvbG5fYXNzaWdubWVudHMgPSBKU09OLnBhcnNlKCdbeyJuYW1lc3BhY2VfaWQiOjEwMTgsInBhcmFtZXRlcl9uYW1lIjoic2hvd19tb250aGx5X29mZmVycyIsInBhcmFtZXRlcl92YWx1ZSI6IjQwX29mZiIsInVzZXJfc2F3X2V4cGVyaW1lbnQiOnRydWV9LHsibmFtZXNwYWNlX2lkIjoxMDE4LCJwYXJhbWV0ZXJfbmFtZSI6InNob3dfbW9udGhseV9vZmZlcnMiLCJwYXJhbWV0ZXJfdmFsdWUiOiI0MF9vZmYiLCJ1c2VyX3Nhd19leHBlcmltZW50Ijp0cnVlfSx7Im5hbWVzcGFjZV9pZCI6MTAxOCwicGFyYW1ldGVyX25hbWUiOiJzaG93X21vbnRobHlfb2ZmZXJzIiwicGFyYW1ldGVyX3ZhbHVlIjoiNDBfb2ZmIiwidXNlcl9zYXdfZXhwZXJpbWVudCI6dHJ1ZX1dJyk7CiAgICAgICAgICAgICAgICB2YXIgdXNlcl9zZWVuX2Fzc2lnbm1lbnRzID0gYWJsaW5jb2xuX2Fzc2lnbm1lbnRzLmZpbHRlcihmdW5jdGlvbihhc3NpZ25tZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFzc2lnbm1lbnQudXNlcl9zYXdfZXhwZXJpbWVudDsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgJ2FibGluY29sbl9hc3NpZ25tZW50cyc6IHVzZXJfc2Vlbl9hc3NpZ25tZW50cywKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgd2luZG93Ll9ndG0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6ICdhYmxpbmNvbG5fYXNzaWdubWVudHNfY29tcGxldGUnLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KSgpOwogICAgCiAgICAgICAgdmFyIF9leHRlbmQgPSBmdW5jdGlvbigpe2Zvcih2YXIgcj1hcmd1bWVudHNbMF0sbj0xLGU9YXJndW1lbnRzLmxlbmd0aDtlPm47bisrKXt2YXIgdD1hcmd1bWVudHNbbl07Zm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmKHJbYV09dFthXSl9cmV0dXJuIHJ9OwoKICAgICAgICB2YXIgQ1NTX0RJUiA9ICdodHRwczovL2YudmltZW9jZG4uY29tL3N0eWxlcy9jc3Nfb3B0LycsCiAgICAgICAgSlNfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0LycsCiAgICAgICAgSU1BR0VfRElSID0gJ2h0dHBzOi8vZi52aW1lb2Nkbi5jb20vaW1hZ2VzX3Y2LycsCiAgICAgICAgRk9OVF9ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9mb250cy8nLAogICAgICAgIFNWR19ESVIgPSAnaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9zdmcvJywKICAgICAgICAgICAgICAgIEJVSUxEX0hBU0ggPSAnZTU4NmQnOwoKICAgIAogICAgICAgIHZhciB2aW1lbyA9IF9leHRlbmQoKHdpbmRvdy52aW1lbyB8fCB7fSksIHsiYXBwX3ZlcnNpb24iOiJ2NiIsImRvbWFpbiI6InZpbWVvLmNvbSIsInVybCI6InZpbWVvLmNvbSIsImN1cl91c2VyIjpmYWxzZSwib3JpZ2luX3VzZXJfaWQiOm51bGwsIm9yaWdpbl91c2VyIjpmYWxzZSwiaXNfbW9iaWxlIjpmYWxzZSwiaXNfcmVjb3JkX3Rvb2xfc3VwcG9ydGVkIjpmYWxzZX0pOwogICAgdmltZW8uY29uZmlnID0gX2V4dGVuZCgodmltZW8uY29uZmlnIHx8IHt9KSwgeyJzdGlja3lfdG9wbmF2Ijp7ImV4Y2x1ZGVkX3BhZ2VzIjpbIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxBYm91dENvbnRyb2xsZXI6cHJvZmVzc2lvbmFscyIsIlZpbWVvXFxDb250cm9sbGVyXFxIb21lQ29udHJvbGxlcjp1cGdyYWRlIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b3JlQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXFVzZXJcXFNldHRpbmdzMkNvbnRyb2xsZXI6bWFpbiIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnRlYW1fbWVtYmVycyIsIlZpbWVvXFxDb250cm9sbGVyXFxVc2VyXFxTZXR0aW5nczJDb250cm9sbGVyOnBhc3N3b3JkIiwiVmltZW9cXENvbnRyb2xsZXJcXFByb2ZpbGVDb250cm9sbGVyOm1haW4iLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFN0YXRzQ29udHJvbGxlcjptYWluIiwiVmltZW9cXENvbnRyb2xsZXJcXENsaXBcXFNldHRpbmdzXFxFbWJlZENvbnRyb2xsZXI6ZW1iZWQiLCJWaW1lb1xcQ29udHJvbGxlclxcVmlkZW9NYW5hZ2VyQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxWaWRlb1Jldmlld0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcTWVzc2FnZXNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0YXRzQ29udHJvbGxlciIsIlZpbWVvXFxDb250cm9sbGVyXFxVcGxvYWRDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXE9uRGVtYW5kXFxTZXR0aW5nc0NvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcQ2xpcFxcU2V0dGluZ3NDb250cm9sbGVyIl0sInN0aWNreV9pbmNsdWRlZF9wYWdlcyI6WyJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrSG9tZVBhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja0Zvb3RhZ2VDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXFN0b2NrXFxTdG9ja1NlYXJjaENvbnRyb2xsZXIiLCJWaW1lb1xcQ29udHJvbGxlclxcU3RvY2tcXFN0b2NrQ29sbGVjdGlvbnNDb250cm9sbGVyIiwiVmltZW9cXENvbnRyb2xsZXJcXEFsYnVtQ29udHJvbGxlciJdLCJ0b3BuYXZfd3JhcF9zZWxlY3RvciI6IiN0b3BuYXZfb3V0ZXJfd3JhcCIsImNvbnRlbnRfd3JhcF9zZWxlY3RvciI6Ii53cmFwX2NvbnRlbnQifSwibG9jYWxlIjoiZW4iLCJvbW5pc2VhcmNoX2p3dCI6ImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUpsZUhBaU9qRTJPVGd6TlRFNU1EQXNJblZ6WlhKZmFXUWlPbTUxYkd3c0ltRndjRjlwWkNJNk5UZzBOemtzSW5OamIzQmxjeUk2SW5CMVlteHBZeUJ3Y21sMllYUmxJR1JsYkdWMFpTSXNJblJsWVcxZmRYTmxjbDlwWkNJNmJuVnNiSDAuRUlMbHFwc3JtTnluazVzWkVNNGlWYlhScTNjei00emJmRGpFaWpUMDZjNCIsIm9tbmlzZWFyY2hfdXNlciI6bnVsbCwiYXBpX3VybCI6ImFwaS52aW1lby5jb20iLCJtYWdpc3RvX2FwaV9ob3N0IjoidmltZW8ubWFnaXN0by5jb20iLCJoYXNfcHVibGljX3NlYXJjaF9kaXNhYmxlZCI6ZmFsc2UsImhhc19hdXRvX2Nsb3NlZF9jYXB0aW9ucyI6ZmFsc2UsImhhc19vY3Jfc2VhcmNoIjpmYWxzZSwiaGFzX3ZpZGVvX2xpYnJhcnkiOmZhbHNlLCJoYXNfZW50ZXJwcmlzZSI6ZmFsc2UsImhhc19wcmVjaXNpb25fYXdhcmVfc2VhcmNoIjpmYWxzZSwidGVhbV91c2VyIjpudWxsLCJzaG91bGRPcHRJbnRvTWFya2V0aW5nIjp0cnVlLCJzaG91bGRTaG93TWFya2V0aW5nQ2hlY2tib3giOmZhbHNlLCJpc1JlY29yZFRvb2xTdXBwb3J0ZWQiOmZhbHNlLCJ0ZWFtIjpudWxsLCJyZWZyZXNoZWRfc3NfbGlocCI6ZmFsc2V9KTsKCiAgICAgICAgdmFyIF9faTE4bkxvY2FsZSA9ICdlbic7CiAgICB2YXIgbG9jYWxlQ29uZmlnID0gewogICAgICAgIGxhbmc6ICdlbicsCiAgICAgICAgJ0RhdGUnOiB7CiAgICAgICAgICAgIG1vbnRoczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLAogICAgICAgICAgICBtb250aHNfYWJicjogWyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwKICAgICAgICAgICAgZGF5czogWyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLAogICAgICAgICAgICBkYXlzX2FiYnI6IFsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sCgogICAgICAgICAgICAvLyBDdWx0dXJlJ3MgZGF0ZSBvcmRlcjogTU0vREQvWVlZWQogICAgICAgICAgICBkYXRlT3JkZXI6IFsnZGF0ZScsICdtb250aCcsICd5ZWFyJ10sCiAgICAgICAgICAgIHNob3J0RGF0ZTogJyVkLyVtLyVZJywKICAgICAgICAgICAgc2hvcnRUaW1lOiAnJUk6JU0lcCcsCiAgICAgICAgICAgIEFNOiAnQU0nLAogICAgICAgICAgICBQTTogJ1BNJywKICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsCgogICAgICAgICAgICAvLyBEYXRlLkV4dHJhcwogICAgICAgICAgICBvcmRpbmFsOiBmdW5jdGlvbihkYXlPZk1vbnRoKXsKICAgICAgICAgICAgICAgIHJldHVybiBkYXlPZk1vbnRoOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRGF0ZVBpY2tlcic6IHsKICAgICAgICAgICAgc2VsZWN0X2FfdGltZTogIlNlbGVjdCBhIHRpbWUiLAogICAgICAgICAgICB1c2VfbW91c2Vfd2hlZWw6ICJVc2UgdGhlIG1vdXNlIHdoZWVsIHRvIHF1aWNrbHkgY2hhbmdlIHZhbHVlIiwKICAgICAgICAgICAgdGltZV9jb25maXJtX2J1dHRvbjogIk9LIiwKICAgICAgICAgICAgYXBwbHlfcmFuZ2U6ICJBcHBseSIsCiAgICAgICAgICAgIGNhbmNlbDogIkNhbmNlbCIsCiAgICAgICAgICAgIHdlZWs6ICJXayIgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnTnVtYmVyJzogewogICAgICAgICAgICBkZWNpbWFsOiAnLicsCiAgICAgICAgICAgIGdyb3VwOiAnLCcsCiAgICAgICAgICAgIGN1cnJlbmN5OiB7CiAgICAgICAgICAgICAgICBwcmVmaXg6ICckJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAnRm9ybVZhbGlkYXRvcic6IHsicmVxdWlyZWQiOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIsInJlcXVpcmVkQ2hrIjoiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifSAgICB9OwoKICAgIHZhciBmdWxsTG9jYWxlID0gJyc7CgogICAgCiAgICAgICAgdmFyIENvcHkgPSB7dHJhbnNsYXRlOmZ1bmN0aW9uKHQsaSx1KXt2YXIgZT0nb2JqZWN0JyE9dHlwZW9mIHRoaXMuZGljdFt0XT90aGlzLmRpY3RbdF06aT90aGlzLmRpY3RbdF0ucGx1cmFsOnRoaXMuZGljdFt0XS5zaW5ndWxhcjtyZXR1cm4nb2JqZWN0Jz09dHlwZW9mIHUmJihlPXRoaXMuc3Vic3RpdHV0ZShlLHUpKSxlfSxzdWJzdGl0dXRlOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHZvaWQgMCE9PXQuc3Vic3RpdHV0ZT90LnN1YnN0aXR1dGUoaSk6dC5yZXBsYWNlKC9cXD9ceyhbXnt9XSspXH0vZyxmdW5jdGlvbih0LHUpe3JldHVybidcXCc9PXQuY2hhckF0KDApP3Quc2xpY2UoMSk6bnVsbCE9aVt1XT9pW3VdOicnfSl9LGRpY3Q6e319OwogICAgQ29weS5kaWN0ID0geyJkaWRfeW91X21lYW5fZW1haWwiOiJEaWQgeW91IG1lYW4gPGVtPntTVUdHRVNUfTxcL2VtPj8iLCJlbWFpbF9wYXNzd29yZF9taXNtYXRjaCI6IkVtYWlsIGFuZCBwYXNzd29yZCBkbyBub3QgbWF0Y2giLCJvb3BzX3RyeV9hZ2FpbiI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImp1c3Rfbm93IjoianVzdCBub3ciLCJzZWNvbmRzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gc2Vjb25kIGFnbyIsInBsdXJhbCI6IntDT1VOVH0gc2Vjb25kcyBhZ28ifSwibWludXRlc19hZ28iOnsic2luZ3VsYXIiOiJ7Q09VTlR9IG1pbnV0ZSBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IG1pbnV0ZXMgYWdvIn0sImhvdXJzX2FnbyI6eyJzaW5ndWxhciI6IntDT1VOVH0gaG91ciBhZ28iLCJwbHVyYWwiOiJ7Q09VTlR9IGhvdXJzIGFnbyJ9LCJvcGVuX2NvbW1lbnRfYm94IjoiQWRkIG5ldyBjb21tZW50IGluc3RlYWQgJnJhcXVvOyIsInVybF91bmF2YWlsYWJsZSI6IlNvcnJ5LCB0aGlzIHVybCBpcyB1bmF2YWlsYWJsZS4iLCJ1bnNhdmVkX2NoYW5nZXNfZ2VuZXJpYyI6IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcywgYXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGxlYXZlPyIsImFkZCI6IkFkZCIsInJlbW92ZSI6IlJlbW92ZSIsInNlbGVjdCI6IlNlbGVjdCIsIm5vX2ZvbGxvd2Vyc19mb3JfbGV0dGVyIjoiWW91IGRvbiZyc3F1bzt0IGZvbGxvdyBhbnlvbmUgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgJmxkcXVvO3tQQUdFX0xFVFRFUn0mcmRxdW87Iiwic2hhcmVfbGltaXRfcmVhY2hlZCI6IllvdSBoYXZlIHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHNoYXJlIHdpdGguIiwiYXRfbGVhc3Rfb25lIjoiVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdXNlci4iLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJ1bmF2YWlsYWJsZSI6IlVuYXZhaWxhYmxlIiwiYnJvd3NlX2Vycm9yX2dlbmVyaWMiOiJTb3JyeSwgdGhlcmUgd2FzIGFuIGVycm9yIiwiYnJvd3NlX2Vycm9yX25vX3ZpZGVvcyI6IlNvcnJ5LCBubyB2aWRlb3MgZm91bmQiLCJmb2xsb3ciOiJGb2xsb3ciLCJmb2xsb3dpbmciOiJGb2xsb3dpbmciLCJ1bmZvbGxvdyI6IlVuZm9sbG93IiwidW5mb2xsb3dpbmciOiJVbmZvbGxvd2luZyIsImNvdW50X2NvbW1lbnRzIjp7InNpbmd1bGFyIjoie0NPVU5UfSBjb21tZW50IiwicGx1cmFsIjoie0NPVU5UfSBjb21tZW50cyJ9LCJmaXJzdF9jb21tZW50IjoiQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnRcdTIwMjYiLCJub19jb21tZW50c19mb3JfeW91IjoiRm9yYmlkZGVuLiBZb3UgY2Fubm90IHBvc3QgY29tbWVudHMgb24gdGhpcyBwYWdlLiIsIm9vcHMiOiJPb3BzISIsInBsYXllcl90cnlfYWdhaW4iOiJUaGF0IHdhc24ndCBzdXBwb3NlZCB0byBoYXBwZW4uIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4iLCJkdXJhdGlvbl9pbnB1dF9taW5fZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGxlc3MgdGhhbiB7TUlOX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9tYXhfZHVyYXRpb24iOiJUaGUgZHVyYXRpb24gY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiB7TUFYX0RVUkFUSU9OfS4iLCJkdXJhdGlvbl9pbnB1dF9pbnZhbGlkX2NoYXJhY3RlcnMiOiIwLTkgYW5kIDogYXJlIHRoZSBvbmx5IGFjY2VwdGFibGUgaW5wdXRzLiIsImNsb3NlIjoiQ2xvc2UiLCJleHBhbmQiOiJFeHBhbmQiLCJsb2FkaW5nIjoiTG9hZGluZy4uLiIsInRvcCI6InRvcCIsImFkdmFuY2VkX3NlYXJjaCI6IkFkdmFuY2VkIFNlYXJjaCIsIm5vX3N1Z2dlc3Rpb25zIjoiTm8gc3VnZ2VzdGlvbnMiLCJyZWNlbnRfc2VhcmNoZXMiOiJSZWNlbnQgU2VhcmNoZXMiLCJzZWFyY2hfYWxsIjoiU2VhcmNoIEFsbCBvZiBWaW1lbyIsImVtYWlsX2FuZF9wYXNzd29yZCI6IlBsZWFzZSBlbnRlciB5b3VyIGVtYWlsIGFuZCBwYXNzd29yZCIsImVtYWlsX2FkZHJlc3MiOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIiwibmFtZV9lbWFpbF9hbmRfcGFzc3dvcmQiOiJQbGVhc2UgZW50ZXIgeW91ciBuYW1lLCBlbWFpbCwgYW5kIHBhc3N3b3JkIiwiZW50ZXJfdmFsaWRfb3RwIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgY29kZSJ9Owo8L3NjcmlwdD4KCgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L3N0aWNreV90b3BuYXZfY29tYmluZWRfOTAxMjMwZDBhMzg1ZGIzNWZkNTA1MmZjYjk5MjI5MzQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9yZWFjdF9wcm9kX2NvbWJpbmVkX2NjYjdkNWM0Y2ZmNzI4Y2VhZGI5OTk2ZjM4NWIyZDA5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvZXhjZXB0aW9uX2NvbWJpbmVkXzdlMDM2MjJkZmFkNWIwOTVjNWUxMmZiZmE1YTUwNTM2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvdG9wbmF2X2NhcnRfYnV0dG9uXzhkZTAwZWY1YjQyMGZmMDM0OTI4MTc1MGU2ZjU1MjRjLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9mLnZpbWVvY2RuLmNvbS9qc19vcHQvX2J1bmRsZXMvcGVuZG9fY29udGFpbmVyLmQ2ZGE0MTEyN2JiNjg3ZWJjNGIzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL3RvcG5hdl9kZXNrdG9wLmNjZDA1YTIwMzdlOThlMDczNjUzLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L19idW5kbGVzL2JwX3RyYWNraW5nLjNlOTlhM2ZkZGM4ZmJiNDMxYTUxLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vZi52aW1lb2Nkbi5jb20vanNfb3B0L2dsb2JhbC9kb19ub3Rfc2VsbF8wYTVmNzU0YmU3OTliOTc5MWU0OTc4NWFkYjk0ZjVmZi5taW4uanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL2YudmltZW9jZG4uY29tL2pzX29wdC9fYnVuZGxlcy9jcmVhdGVfZmFjZWJvb2tfaGVhZGVyLmQyYWNhYTdhMTZmNjdhYTJiYzNkLmJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBvblZpbWVvRG9tUmVhZHkoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgd2luZG93LnZpbWVvID0gd2luZG93LnZpbWVvIHx8IHt9OwogICAgICB3aW5kb3cudmltZW8uZXhjZXB0aW9uX2RhdGEgPSB7InRpdGxlIjoiU29ycnksIHdlIGNvdWxkblx1MjAxOXQgZmluZCB0aGF0IHBhZ2UiLCJtZXNzYWdlIjoiIiwibm90aWZpY2F0aW9uIjoiPGRpdiBjbGFzcz1cImV4Y2VwdGlvbl9ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24gaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbFwiPlxuICAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24tLXVwc2VsbC1pY29uXCI+XG4gICAgICAgICA8c3BhbiBjbGFzcz1cImlyaXNfaWMgaXMtLTE2XCI+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTggMTZjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTgtOCAzLjU4Mi04IDggMy41ODIgOCA4IDh6TTcgNGgydjJIN1Y0em0wIDNoMnY1SDdWN3pcIlwvPjxcL3N2Zz48XC9zcGFuPlxuICAgICA8XC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXJpc19ub3RpZmljYXRpb24taGVhZGVyXCI+XG4gICAgICAgIDxzdHJvbmc+UmVhc29ucyB5b3UgbWlnaHQgYmUgc2VlaW5nIHRoaXMgcGFnZTxcL3N0cm9uZz5cbiAgICA8XC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJpcmlzX25vdGlmaWNhdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5JdCBleGlzdHMsIGJ1dCB5b3UgZG9uXHUyMDE5dCBoYXZlIHBlcm1pc3Npb24gdG8gc2VlIGl0LCBvciB5b3UgbmVlZCB0byA8YSBvbmNsaWNrPVwidmltZW8uU2Vzc2lvbi5jcmVhdGUoKVwiPmxvZyBpbjxcL2E+LjxcL2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Ob3RoaW5nIGhhcyBldmVyIGV4aXN0ZWQgaGVyZS4gU3Bvb2t5LjxcL2xpPlxuICAgICAgICA8bGk+U29tZXRoaW5nIG9uY2UgbGl2ZWQgaGVyZSwgYnV0IGhhcyBiZWVuIGRlbGV0ZWQuPFwvbGk+XG4gICAgPFwvdWw+XG48XC9kaXY+XG4iLCJzZWFyY2giOnRydWUsInZpZGVvcyI6bnVsbCwiYWRfY29uZmlnIjp7ImhvdXNlX2Fkc19lbmFibGVkIjpmYWxzZX0sInBhZ2VfdHlwZSI6ImV4Y2VwdGlvbiIsIm1vZHVsZV90eXBlIjoic3RhbmRhcmRfbXVsdGkifTsKCiAgICAgIG5ldyB3aW5kb3cuRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShvblZpbWVvRG9tUmVhZHkpOwogICAgICAgICAgICA8L3NjcmlwdD4KCiAgICA8L2JvZHk+CjwvaHRtbD4K - recorded_at: Thu, 26 Oct 2023 20:09:36 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml deleted file mode 100644 index 6f701a4e..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_14_15_1.yml +++ /dev/null @@ -1,207 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:44 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:44 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-khsfj - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-1 - X-Backend-Proxy: - - webproxy2 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10577-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350985.780457,VS0,VE130 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=3sNwOJA_C.ulAx6QiAPq8uKtrgrsnE00_5pbxE75cx8-1698350984-0-ARyGkkbkt+z/dJEubca3XEb9/pCedxRnW53QfiD3zGXQ3sGvkx1DGLZd1LzdnwTZWmBXWioFIAjbEAmy5O8y3QU=; - path=/; expires=Thu, 26-Oct-23 20:39:44 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b6cd1d0da7-MRS - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:44 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:45 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:45 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-c8r9l - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10540-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350985.011799,VS0,VE143 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=V9u0K9WFXHb9ga1kJ118jdo4iI1Xj2cP.dwk3VKxv28-1698350985-0-AYc6f4pSgCf8hIQgS3drIBa/Ye6Uf4yEP3dmZl28/2inUOx67XP84PWoCIzpcSak5/P0sYNIilx9dNFwnWiByu8=; - path=/; expires=Thu, 26-Oct-23 20:39:45 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556b82d890d9a-MRS - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:45 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml deleted file mode 100644 index fa4f0552..00000000 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_14_11_1.yml +++ /dev/null @@ -1,207 +0,0 @@ ---- -http_interactions: -- request: - method: head - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - VideoInfo/4.0.0 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:43 GMT - Content-Type: - - text/html; charset=UTF-8 - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:43 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-dgfs5 - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10551-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350983.934437,VS0,VE141 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=2W044ykXU9M9cZMcKHFq7UqX6FtiJPmFQFlg16rmnQ8-1698350983-0-AYFE3dtYhIznhym5pYpbNT9YPHB2zuBRcm0cV/vZcW/jR1sI7waPZl68/7QUFdaYfSlgW2xgJslON412UWXILwk=; - path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556ab3a380da7-MRS - body: - encoding: UTF-8 - string: '' - recorded_at: Thu, 26 Oct 2023 20:09:43 GMT -- request: - method: get - uri: https://vimeo.com/0812455 - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 429 - message: Too Many Requests - headers: - Date: - - Thu, 26 Oct 2023 20:09:43 GMT - Content-Type: - - text/html; charset=UTF-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Expires: - - Thu, 26 Oct 2023 08:09:43 GMT - X-Vimeo-Device: - - d - X-Frame-Options: - - sameorigin - X-Bapp-Server: - - pweb-7cc5595cc8-vkfws - Age: - - '0' - Via: - - 1.1 varnish (Varnish/6.0), 1.1 varnish, 1.1 varnish - Cache-Control: - - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - X-Varnish-Cache: - - '0' - X-Vserver: - - web-varnish-prod-varnish-8 - X-Backend-Proxy: - - webproxy9 - Accept-Ranges: - - bytes - X-Served-By: - - cache-iad-kcgs7200157-IAD, cache-mrs10522-MRS - X-Cache: - - MISS, MISS - X-Cache-Hits: - - 0, 0 - X-Timer: - - S1698350983.179888,VS0,VE126 - Vary: - - x-http-method-override - Cf-Cache-Status: - - DYNAMIC - Set-Cookie: - - __cf_bm=8IJTai7o3MCip4m0KB0mQcjS3sd17JCwOm7dIM5cc5A-1698350983-0-AUoWi36omQieL5u2DTjbeMOaYHa3XSW1KYxy3KaV+subiFrKQEPc3PbaUecetLsfOdV5+vdtlWtVGcsnHuEqMMc=; - path=/; expires=Thu, 26-Oct-23 20:39:43 GMT; domain=.vimeo.com; HttpOnly; - Secure; SameSite=None - Server: - - cloudflare - Cf-Ray: - - 81c556acc80b076f-MRS - body: - encoding: UTF-8 - string: "\n\n\n\t\n\tVimeo / 429 Too Many Requests\n\n\t\n\t\n\n\t\n\n\n\t\n\t
\n\t\t

You have - been temporarily blocked

\n\t\t

Pardon the inconvenience, but our servers - have detected a high number of errors from your connection. To continue, please - verify that you are a human:

\n\t\t
\n\t\t\t
\n\t\t\t\n
\n\t
\n\n\n" - recorded_at: Thu, 26 Oct 2023 20:09:43 GMT -recorded_with: VCR 6.2.0 From e14150e0ce96b97f24b5efede2b5e9e265e5bdca Mon Sep 17 00:00:00 2001 From: Hans Lemuet Date: Fri, 27 Oct 2023 22:12:44 +0200 Subject: [PATCH 5/6] Fix API cassette --- .../with_video_7848846/stats/2_14_1_1.yml | 53 +++++++++++-------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_14_1_1.yml b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_14_1_1.yml index 8140294c..73965317 100644 --- a/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_14_1_1.yml +++ b/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_7848846/stats/2_14_1_1.yml @@ -17,58 +17,69 @@ http_interactions: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 response: status: - code: 401 - message: Unauthorized + code: 200 + message: OK headers: Date: - - Thu, 26 Oct 2023 20:26:11 GMT + - Fri, 27 Oct 2023 20:10:56 GMT Content-Type: - - application/vnd.vimeo.error+json + - application/vnd.vimeo.video+json Content-Length: - - '157' + - '10572' Connection: - keep-alive Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload - Www-Authenticate: - - Bearer error="invalid_token" + X-Ratelimit-Limit: + - '50' + X-Ratelimit-Remaining: + - '48' + X-Ratelimit-Reset: + - '2023-10-27T20:11:55+00:00' Cache-Control: - no-store, no-cache, max-age=0 Request-Hash: - - '12632761' - X-Vimeo-Error: - - 'true' + - 3cd47982 X-Bapp-Server: - - api-8bf794994-jfkdx + - api-7475d7c8b6-wfjtn X-Backend-Server: - api-k8s - Accept-Ranges: - - bytes Via: - 1.1 varnish, 1.1 varnish + Accept-Ranges: + - bytes + Age: + - '0' X-Served-By: - - cache-iad-kiad7000159-IAD, cache-mad2200094-MAD + - cache-iad-kiad7000159-IAD, cache-mrs10581-MRS X-Cache: - MISS, MISS X-Cache-Hits: - 0, 0 X-Timer: - - S1698351971.935894,VS0,VE126 + - S1698437456.607184,VS0,VE660 Vary: - x-http-method-override Cf-Cache-Status: - DYNAMIC Set-Cookie: - - __cf_bm=qSwSg7COASR1MztiS6EOEA7fblIyOGlr0OOPw.UYqwo-1698351971-0-AdPyYZck3LzqtcC0jS3ooL8Of1MIR2g1G/anKf3FIK8uC7a5BcLp57oNGRqK99Q/naMsJyfcrJD4NUzt373lHdc=; - path=/; expires=Thu, 26-Oct-23 20:56:11 GMT; domain=.vimeo.com; HttpOnly; + - __cf_bm=FCQKxyzPuHqJIQK99J2zPmfxePkITfksvmCW72Sjh.k-1698437456-0-AeXOh5li1kCmT1NUhDITAJ24bpOs5c1UlNK2IvXStAXUd1VrvzxU5Dyr13JpOT2qv4nwfNS5yKthB9HIY0HiSy0=; + path=/; expires=Fri, 27-Oct-23 20:40:56 GMT; domain=.vimeo.com; HttpOnly; Secure; SameSite=None Server: - cloudflare Cf-Ray: - - 81c56eca38be2a1c-CDG + - 81cd95d15cee11c0-MRS body: encoding: UTF-8 - string: '{"error":"Something strange occurred. Please contact the app owners.","link":null,"developer_message":"No - user credentials were provided.","error_code":8003}' - recorded_at: Thu, 26 Oct 2023 20:26:11 GMT + string: '{"uri":"/videos/7848846","name":"IKONS - SLOW LIGHT","description":"Artist: + IKONS.\nTitle: SLOW LIGHT.\nCreator: Patrik Johansson.\nLabel: SERVICE.\nwww.srvc.se\n\nAlbum + \"Ikons\" out now CD/LP/Stream from Service","type":"video","link":"https://vimeo.com/7848846","player_embed_url":"https://player.vimeo.com/video/7848846?h=466ebd2f33","duration":494,"width":640,"language":null,"height":480,"embed":{"html":"","badges":{"hdr":false,"live":{"streaming":false,"archived":false},"staff_pick":{"normal":false,"best_of_the_month":false,"best_of_the_year":false,"premiere":false},"vod":false,"weekend_challenge":false},"interactive":false},"created_time":"2009-11-27T11:19:39+00:00","modified_time":"2022-07-01T10:05:10+00:00","release_time":"2009-11-27T11:19:39+00:00","content_rating":["unrated"],"content_rating_class":"unrated","rating_mod_locked":false,"license":null,"privacy":{"view":"anybody","embed":"public","download":false,"add":true,"comments":"anybody"},"pictures":{"uri":"/videos/7848846/pictures/35014584","active":true,"type":"custom","base_link":"https://i.vimeocdn.com/video/35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d","sizes":[{"width":100,"height":75,"link":"https://i.vimeocdn.com/video/35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_100x75?r=pad","link_with_play_button":"https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_100x75&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"},{"width":200,"height":150,"link":"https://i.vimeocdn.com/video/35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_200x150?r=pad","link_with_play_button":"https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_200x150&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"},{"width":295,"height":166,"link":"https://i.vimeocdn.com/video/35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_295x166?r=pad","link_with_play_button":"https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_295x166&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"},{"width":640,"height":360,"link":"https://i.vimeocdn.com/video/35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_640x360?r=pad","link_with_play_button":"https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_640x360&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"},{"width":960,"height":540,"link":"https://i.vimeocdn.com/video/35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_960x540?r=pad","link_with_play_button":"https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_960x540&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"},{"width":1280,"height":720,"link":"https://i.vimeocdn.com/video/35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_1280x720?r=pad","link_with_play_button":"https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_1280x720&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"},{"width":1920,"height":1080,"link":"https://i.vimeocdn.com/video/35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_1920x1080?r=pad","link_with_play_button":"https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F35014584-446656421a935f9f256375f1fae2dc8a2d5003030999a23561a76a4ad5ce1bf1-d_1920x1080&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"}],"resource_key":"3a9299a824d2eb20f817bb10778905b1bcf1d4c0","default_picture":false},"tags":[],"stats":{"plays":null},"uploader":{"pictures":{"uri":"/users/195575/pictures/1051865","active":true,"type":"custom","base_link":"https://i.vimeocdn.com/portrait/1051865","sizes":[{"width":30,"height":30,"link":"https://i.vimeocdn.com/portrait/1051865_30x30"},{"width":72,"height":72,"link":"https://i.vimeocdn.com/portrait/1051865_72x72"},{"width":75,"height":75,"link":"https://i.vimeocdn.com/portrait/1051865_75x75"},{"width":100,"height":100,"link":"https://i.vimeocdn.com/portrait/1051865_100x100"},{"width":144,"height":144,"link":"https://i.vimeocdn.com/portrait/1051865_144x144"},{"width":216,"height":216,"link":"https://i.vimeocdn.com/portrait/1051865_216x216"},{"width":288,"height":288,"link":"https://i.vimeocdn.com/portrait/1051865_288x288"},{"width":300,"height":300,"link":"https://i.vimeocdn.com/portrait/1051865_300x300"},{"width":360,"height":360,"link":"https://i.vimeocdn.com/portrait/1051865_360x360"}],"resource_key":"c309e33692631ae18d6a7b27b217306c5939320f","default_picture":false}},"metadata":{"connections":{"comments":{"uri":"/videos/7848846/comments","options":["GET","POST"],"total":1},"credits":{"uri":"/videos/7848846/credits","options":["GET","POST"],"total":1},"likes":{"uri":"/videos/7848846/likes","options":["GET"],"total":44},"pictures":{"uri":"/videos/7848846/pictures","options":["GET","POST"],"total":1},"texttracks":{"uri":"/videos/7848846/texttracks","options":["GET","POST"],"total":0},"related":null,"albums":{"uri":"/videos/7848846/albums","options":["GET","PATCH"],"total":0},"available_albums":{"uri":"/videos/7848846/available_albums","options":["GET"],"total":0},"available_channels":{"uri":"/videos/7848846/available_channels","options":["GET"],"total":0}},"interactions":{"watchlater":{"uri":"/users/105561138/watchlater/7848846","options":["GET","PUT","DELETE"],"added":false,"added_time":null},"like":{"uri":"/users/105561138/likes/7848846","options":["GET","PUT","DELETE"],"added":false,"added_time":null},"report":{"uri":"/videos/7848846/report","options":["POST"],"reason":["pornographic","harassment","ripoff","incorrect + rating","spam","causes harm","csam"]},"can_update_privacy_to_public":{"uri":"/videos/7848846","options":["PATCH"]},"validate":{"uri":"/videos/7848846/validate","options":["PUT"]}},"is_vimeo_create":false,"is_screen_record":false},"user":{"uri":"/users/195575","name":"Service","link":"https://vimeo.com/service","capabilities":{"hasLiveSubscription":false,"hasEnterpriseLihp":false,"hasSvvTimecodedComments":false,"hasSimplifiedEnterpriseAccount":false},"location":"Sweden","gender":"f","bio":"http://www.srvc.se","short_bio":null,"created_time":"2007-05-18T12:12:35+00:00","pictures":{"uri":"/users/195575/pictures/1051865","active":true,"type":"custom","base_link":"https://i.vimeocdn.com/portrait/1051865","sizes":[{"width":30,"height":30,"link":"https://i.vimeocdn.com/portrait/1051865_30x30"},{"width":72,"height":72,"link":"https://i.vimeocdn.com/portrait/1051865_72x72"},{"width":75,"height":75,"link":"https://i.vimeocdn.com/portrait/1051865_75x75"},{"width":100,"height":100,"link":"https://i.vimeocdn.com/portrait/1051865_100x100"},{"width":144,"height":144,"link":"https://i.vimeocdn.com/portrait/1051865_144x144"},{"width":216,"height":216,"link":"https://i.vimeocdn.com/portrait/1051865_216x216"},{"width":288,"height":288,"link":"https://i.vimeocdn.com/portrait/1051865_288x288"},{"width":300,"height":300,"link":"https://i.vimeocdn.com/portrait/1051865_300x300"},{"width":360,"height":360,"link":"https://i.vimeocdn.com/portrait/1051865_360x360"}],"resource_key":"c309e33692631ae18d6a7b27b217306c5939320f","default_picture":false},"websites":[{"uri":"/users/195575/links/4603","name":null,"link":"http://www.srvc.se","type":"link","description":null}],"metadata":{"connections":{"activities":{"uri":"/users/195575/activities","options":["GET"]},"albums":{"uri":"/users/195575/albums","options":["GET"],"total":0},"appearances":{"uri":"/users/195575/appearances","options":["GET"],"total":0},"channels":{"uri":"/users/195575/channels","options":["GET"],"total":0},"feed":{"uri":"/users/195575/feed","options":["GET"]},"followers":{"uri":"/users/195575/followers","options":["GET"],"total":93},"following":{"uri":"/users/195575/following","options":["GET"],"total":0},"groups":{"uri":"/users/195575/groups","options":["GET"],"total":0},"likes":{"uri":"/users/195575/likes","options":["GET"],"total":0},"membership":{"uri":"/users/195575/membership/","options":["PATCH"]},"moderated_channels":{"uri":"/users/195575/channels?filter=moderated","options":["GET"],"total":0},"portfolios":{"uri":"/users/195575/portfolios","options":["GET"],"total":0},"videos":{"uri":"/users/195575/videos","options":["GET"],"total":20},"shared":{"uri":"/users/195575/shared/videos","options":["GET"],"total":61},"pictures":{"uri":"/users/195575/pictures","options":["GET","POST"],"total":1},"folders_root":{"uri":"/users/195575/folders/root","options":["GET"]},"teams":{"uri":"/users/195575/teams","options":["GET"],"total":1}},"interactions":{"follow":{"added":false,"added_time":null,"uri":"/users/105561138/following/195575","options":["GET","PUT","DELETE"]},"block":{"uri":"/me/block/195575","options":["PUT","DELETE"],"added":false,"added_time":null},"report":{"uri":"/users/195575/report","options":["POST"],"reason":["inappropriate + avatar","spammy","bad videos","creepy","not playing nice","impersonation","inappropriate + job post"]}}},"location_details":{"formatted_address":"Sweden","latitude":null,"longitude":null,"city":null,"state":null,"neighborhood":null,"sub_locality":null,"state_iso_code":null,"country":null,"country_iso_code":null},"skills":[],"available_for_hire":false,"can_work_remotely":false,"resource_key":"09a1089f005fa5924c94ec3cd495ec8ddd67b884","account":"basic","preferences":{"videos":{"privacy":null}}},"app":null,"play":{"status":"playable"},"status":"available","resource_key":"88d4a6ce576786d2f0a19f444f873f4fbc530d6f","upload":{"status":"complete","link":null,"upload_link":null,"form":null,"approach":null,"size":null,"redirect_url":null},"transcode":{"status":"complete"},"is_playable":true,"has_audio":false,"embed_presets":null}' + recorded_at: Fri, 27 Oct 2023 20:10:56 GMT recorded_with: VCR 6.2.0 From 4921a23500eef650e94b9d64f0d04963c02df940 Mon Sep 17 00:00:00 2001 From: Hans Lemuet Date: Fri, 27 Oct 2023 22:27:51 +0200 Subject: [PATCH 6/6] Fix tests --- spec/lib/video_info/providers/vimeo_spec.rb | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/spec/lib/video_info/providers/vimeo_spec.rb b/spec/lib/video_info/providers/vimeo_spec.rb index 40effff1..f15ac230 100644 --- a/spec/lib/video_info/providers/vimeo_spec.rb +++ b/spec/lib/video_info/providers/vimeo_spec.rb @@ -341,11 +341,17 @@ subject { VideoInfo.new("https://vimeo.com/7848846") } its(:stats) { - should eq({ - "plays" => nil, - "likes" => nil, - "comments" => nil - }) + if api_key + should eq({ + "plays" => nil, + }) + else + should eq({ + "plays" => nil, + "likes" => nil, + "comments" => nil + }) + end } end end